2012-03-31 16 views
5

Ho appena creato un codice di caricamento file e mi chiedevo perché il caricamento del file non funzionava. Ho cambiato il dir di upload al 0777. Questo è il mio caricamento codice HTML:PHP: Caricamento file move_uploaded_file() non funzionante

<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> 

E Codice 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"; 
    } 
} 
?> 

Allora, che cosa potrebbe il problema essere?

+0

Si prega di definire "non funziona". Ricevi messaggi di errore? Hai segnalazioni di errori su? – deceze

+0

Intendi utilizzare i tuoi percorsi come percorsi di root sul server o quelli che si suppone siano relativi alla tua web root? – jprofitt

+0

si dovrebbe essere consapevoli del fatto che qualcuno potrebbe caricare file .htaccess e fare un sacco di cose divertenti con questo –

risposta

11

Prova

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

GRAZIE! Ha funzionato perfettamente. : D – SnarkyDTheman

+0

È possibile leggere i percorsi relativi e assoluti. – segrived

+6

@SnarkyDTheman Se questa risposta ha risolto il tuo problema, devi contrassegnarlo come corretto ... –

0

tuo

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

restituirà sempre false. Il file viene salvato con il suo nome temporaneo.

Prova

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

invece.

Problemi correlati