2014-04-17 175 views
0

我一直在努力讓我的PHP上傳腳本工作,HTML方面似乎工作,但PHP不斷返回失敗的結果。我正在使用iPage託管。這裏是我的腳本:PHP上傳不起作用

<?php 
if(isset($_FILES['userfile'])){ 
$uploaddir = '/var/www/uploads/'; 
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']); 

echo "<p>"; 

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { 
    echo "File is valid, and was successfully uploaded.\n"; 
} else { 
    echo "Upload failed"; 
} 

echo "</p>"; 
echo '<pre>'; 
echo 'Here is some more debugging info:'; 
print_r($_FILES); 
print "</pre>"; 
} else { 
?> 
<form enctype="multipart/form-data" action="" method="POST"> 
    <input type="hidden" name="MAX_FILE_SIZE" value="512000" /> 
    Send this file: <input name="userfile" type="file" /> 
    <input type="submit" value="Send File" /> 
</form> 
<?php 
} 
?> 
+2

檢查文件夾是否可寫入。如果是,那麼嘗試一下相對路徑,而不是現在使用的路徑。 I.e .:'$ uploaddir ='uploads /';' –

+1

感謝Fred。需要做到這一點,讓它工作:) –

+0

不客氣。 –

回答

2

評論回答關閉的問題,因爲這是什麼問題是,既

檢查文件夾是否可寫入。如果是,那麼嘗試一下相對路徑,而不是現在使用的路徑。

I.e .: $uploaddir = 'uploads/';

0

確保上傳目錄有正確的權限 - 可寫和正確的所有者

你會遇到的問題時,文件大小超過512000,你應該檢查使用$ _FILE數組的文件大小並返回錯誤消息。只是一個建議,因爲你已經關閉了這個。

// Error Checking Extended 
    if($_FILES['userfile']['error'] == 2) { 
     echo "You've exceeded the maximum file upload size of 512kb."; 
     return false; 
    }