2012-03-31 13 views
5

Właśnie napisałem kod do przesłania pliku i zastanawiałem się, dlaczego przesyłanie plików nie działa. Zmieniłem wysyłania dir do 0777. To jest mój przesłać kod HTML:PHP: Przesyłanie plików move_uploaded_file() nie działa

<form action="upload_file.php" method="post" enctype="multipart/form-data"> 
<label for="file">Filename:</label> 
<input type="file" name="file" id="file" /> 
<br /> 
<input type="submit" name="submit" value="Submit" /> 
</form> 

i kod PHP:

<?php 
if ($_FILES["file"]["error"] > 0){ 
echo "Error Code: " . $_FILES["file"]["error"] . "<br />"; 
} 
else 
{ 
echo "Uploaded file: " . $_FILES["file"]["name"] . "<br />"; 
echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
echo "Size: " . ($_FILES["file"]["size"]/1024) . " kilobytes<br />"; 

if (file_exists("/files/".$_FILES["file"]["name"])) 
    { 
    echo $_FILES["file"]["name"] . " already exists. No joke-- this error is almost <i><b>impossible</b></i> to get. Try again, I bet 1 million dollars it won't ever happen again."; 
    } 
else 
    { 
    move_uploaded_file($_FILES["file"]["tmp_name"],"/filebro/".$_FILES["file"]["name"]); 
    echo "Done"; 
    } 
} 
?> 

Więc, co mogłoby ewentualnie być problem?

+0

Proszę określić "nie działa". Czy masz jakieś komunikaty o błędach? Czy masz zgłoszenie błędu? – deceze

+0

Czy myślisz, że używasz swoich ścieżek jako faktycznie ścieżek root na serwerze, czy te powinny być względne do twojego katalogu głównego? – jprofitt

+0

powinieneś wiedzieć, że ktoś może przesłać pliki .htaccess i zrobić wiele fajnych rzeczy z tym –

Odpowiedz

11

Spróbuj

move_uploaded_file($_FILES["file"]["tmp_name"],"filebro/".$_FILES["file"]["name"]); 
+0

DZIĘKI! To działało idealnie. : D – SnarkyDTheman

+0

Możesz przeczytać o ścieżkach względnych i absolutnych. – segrived

+6

@SarkarkDTheman Jeśli ta odpowiedź rozwiązała Twój problem, powinieneś oznaczyć go jako prawidłowy ... –

0

Twój

if (file_exists("/files/".$_FILES["file"]["name"])) 

zawsze return false. Plik zostanie zapisany z nazwą tymczasową.

Spróbuj

if (is_uploaded_file($_FILES["file"]["tmp_name"])) 

zamiast.

Powiązane problemy