2012-03-31 190 views
5

我只是做了一個文件上傳代碼,我想知道爲什麼文件上傳不起作用。我改變了上傳目錄到0777這是我上傳的HTML代碼:PHP:文件上傳move_uploaded_file()不起作用

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

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

那麼,什麼可能的問題可能是什麼?

+0

請定義「不工作」。你有沒有收到任何錯誤信息?你有錯誤報告嗎? – deceze 2012-03-31 01:51:04

+0

你的意思是將你的路徑用作服務器上的根路徑,還是那些應該與你的web根目錄相關? – jprofitt 2012-03-31 01:51:37

+0

你應該知道,有人可以上傳.htaccess文件,並用這個 – 2012-03-31 01:54:18

回答

11

嘗試

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

謝謝!這工作完美。 :D – SnarkyDTheman 2012-03-31 01:56:34

+0

您可以閱讀關於相對和絕對路徑。 – segrived 2012-03-31 01:57:38

+6

@SnarkyDTheman如果這個答案解決了你的問題,你應該把它標記爲正確的... – 2013-03-09 10:13:53

0

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

將始終返回false。該文件以臨時名稱保存。

嘗試

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

代替。