2013-10-14 15 views
5

mam przesłać plik za pomocą PHP skrypcie ..funkcja is_uploaded_file() nie działa .. zawsze zwraca fałszywą flagę

mój kod jest

$file_temp=$_FILES["upl"]["tmp_name"]; 

kiedy przesłać spożywczych z

move_upload_file($file_temp,"user_stuff/".$file_name) 

Wszystko działa poprawnie ... rzeczy są przesyłane bez żadnych awarii

Ale kiedy sprawdzam upl oaded plik się faktycznie w obszarze korzystania

is_uploaded_file($file_temp); 

To zawsze return false

Więc ja googled problemu i przekierowanie mnie do tego samego stackoverflow problemu here

tak ja, jak to było sugeruje

if(is_uploaded_file(realpath($file_temp))) 
     { 
      echo "done"; 
     } 
     else 
     { 
      echo "fail"; 
     } 

Ale wciąż otrzymuję ten sam problem "fail"

Ponadto Właśnie zauważyłem dziwną rzecz ... kiedy nie używam move_uploaded_file (..), to is_uploaded_file „działa”

+0

próbowałeś 'is_uploaded_file ($ UPL);' lub 'is_uploaded_file ($ file_name);' –

+0

tak, wcześniej, ale nie działał przez – Zafta

Odpowiedz

0

Funkcja is_uploaded_file zwraca fałszywy ponieważ jesteś sprawdzając przeznaczenia plik, który nie istnieje, jak już przeniósł plik do nowej lokalizacji przy użyciu move_upload_file()

+0

, więc teraz powinienem szukać is_uploaded_file ($ file_name), jak sugerował Fred-ii-, ale nadal nie działa – Zafta

+1

Dla poprawnego działania funkcja is_uploaded_file() potrzebuje argumentu takiego jak $ _FILES [ 'userfile'] ['tmp_name'], - nazwa przesłanego pliku na komputerze klienta $ _FILES ['userfile'] ['name'] nie działa. – Zafta

1

try sudo chmod 777 path_to_directory/user_stuff/-R w konsoli

+1

move_upload_file ($ file_temp, "pełna ścieżka /".$ file_name) –