• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Działający kod z funkcją move_uploaded_file

Object Storage Arubacloud
–1 głos
246 wizyt
pytanie zadane 15 września 2018 w PHP przez progNewbie Obywatel (1,130 p.)
Hej, bardzo Was proszę, mógłby ktoś napisać krótki skrypt, który by:

uplodowany plik wrzucał do folderu na localhoście i uwzględniał funkcję move_uploaded_file.

Próbuję od dwóch dni i mi nie wychodzi, już powoli tracę cierpliwość i zaczynam wypisywać jakieś głupoty.
komentarz 15 września 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
Pokaż kod jaki napisałeś, pomyślimy co nie działa.
komentarz 15 września 2018 przez progNewbie Obywatel (1,130 p.)
<?php
$file = $_FILES['image']['name'];
$exp_file = explode('.', $file);
$actual_roz = strtolower(end($exp_file));
$new_file_name = uniqid('', true) . "." . $actual_roz;
$file_destination = "./images/" . $new_file_name;
if(move_uploaded_file($new_file_name, $file_destination))
      echo "udalo sie";
else
      echo "nie udalo sie";
?>

Próbowałem w różny sposób określić ścieżkę, ale za każdym razem zwraca mi, ze nie udało się.

2 odpowiedzi

+1 głos
odpowiedź 15 września 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
wybrane 20 listopada 2018 przez progNewbie
 
Najlepsza
Spójrz czego oczekuje funkcja move_uploaded_file(), nie strzelaj i nie "wypisuj głupot" tylko sprawdź :)

http://php.net/manual/en/function.move-uploaded-file.php

Jako pierwszy argument należy podać obecną nazwę/ścieżkę tego pliku, jako drugi nową lokalizację/nazwę. A Ty jak widzę podajesz jako pierwszy argument nową nazwę, jako drugi nową lokalizację - skąd więc ma wiedzieć który plik chcesz uploadować?

Pewnie teraz zapytasz skąd wziąć ten pierwszy argument czyli obecną ścieżkę, więc od razu mówię że jest to element tmp_name w tablicy $_FILES (tak jak odczytujesz oryginalną nazwę na początku), to z resztą również można wywnioskować z dokumentacji spoglądając na informacje o $_FILES lub patrząc na przykład na podstronie podlinkowanej przeze mnie powyżej.

Nie zapomnij też sprawdzić czy katalog "images" (tam gdzie chcesz uploadować) istnieje w tej lokalizacji i czy ma właściwe uprawnienia, bez tego też się nie uda.
komentarz 18 września 2018 przez progNewbie Obywatel (1,130 p.)

Dziękuję, mam jeszcze problem z wyciągnięciem zdjęć z bazy danych na stronę internetową.

Zamiast wyświetlić się zdjęcia to mam takie znaczki jak powyżej.

komentarz 18 września 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
Zła ścieżka do zdjęć. Upewnij się że są one w lokalizacji dostępnej z serwera www, że odczytana ścieżka jest dobra itd. Możesz kliknąć prawym na to i podejrzeć przez zbadaj element ścieżki, możesz zobaczyć na konsoli czy w źródle, albo w PHP zrobić jakiegoś var_dump() czy echo ścieżki.
0 głosów
odpowiedź 15 września 2018 przez Ehlert Ekspert (212,670 p.)

Nie ma potrzeby korzystać z natywnych metod Php, kiedy możesz dołączyć do projektu komponent HttpFoundation. Udostępnia on, między innymi klasę File.  Jeśli piszesz jakiś projekt w którym operacje na plikach są w warstwie domenowej to takie, lub podobne rozwiązanie jest raczej koniecznością.

Podobne pytania

0 głosów
1 odpowiedź 196 wizyt
pytanie zadane 14 września 2018 w PHP przez progNewbie Obywatel (1,130 p.)
–1 głos
2 odpowiedzi 2,951 wizyt
0 głosów
1 odpowiedź 139 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...