2012-03-31 35 views
5

Ich habe gerade einen Dateiuploadcode erstellt und ich habe mich gefragt, warum der Dateiupload nicht funktionierte. Ich änderte das Upload-Verzeichnis auf 0777. Dies ist mein Upload HTML-Code:PHP: Dateiupload move_uploaded_file() funktioniert nicht

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

und PHP-Code:

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

Also, was könnte das Problem möglicherweise sein?

+0

Bitte definieren Sie "nicht funktioniert". Erhalten Sie Fehlermeldungen? Haben Sie eine Fehlermeldung? – deceze

+0

Meinen Sie, Ihre Pfade als tatsächliche Root-Pfade auf dem Server zu verwenden, oder sollen diese relativ zu Ihrem Web-Root sein? – jprofitt

+0

Sie sollten sich bewusst sein, dass jemand .htaccess-Dateien hochladen und viele lustige Dinge mit diesem –

Antwort

11

Versuchen

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

DANKE! Das hat perfekt funktioniert. : D – SnarkyDTheman

+0

Sie können relative und absolute Pfade lesen. – segrived

+6

@SnarkyDTheman Wenn diese Antwort Ihr Problem gelöst hat, sollten Sie es als richtig markieren ... –

0

Ihre

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

wird immer false zurück. Die Datei wird mit ihrem temporären Namen gespeichert.

Versuchen

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

statt.

Verwandte Themen