所以我測試了w3schools網站http://www.w3schools.com/php/php_file_upload.asp的move_uploaded_file()php腳本。 這是我的代碼。php move_uploaded_file()
if ($_FILES["file"]["size"] < 2000000)
{
if ($_FILES["file"]["error"] > 0)
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"]/1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("/var/www/upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
elseif(move_uploaded_file($_FILES["file"]["tmp_name"], "/var/www/upload/".$fileName))
echo "Stored in: " . "/var/www/upload/".$fileName;
}
}
else
echo "Invalid file";
問題是if(move_uploaded_file($_FILES["file"]["tmp_name"],"/var/www/upload/".$fileName))
返回false所有的時間,但似乎該文件存儲在服務器(例如:/tmp/php8rrKoW
)上tmp
文件夾。當我檢查tmp
文件夾時,該文件不存在。 (它應該在腳本執行完成後被刪除。)我也沒有看到/php8rrkoW
文件夾。我不確定它是否應該在那裏。我使用chmod
將tmp
文件夾和/var/www/upload/
的許可設置爲777
,但我不確定是否應該將所有者設置爲apache
。所以我想知道爲什麼該文件不會被複制到/var/www/upload
以及是否有方法來測試。
http://w3fools.com/ – Marty 2012-04-24 04:20:00
你是否啓用了error_reporting(E_ALL),你得到了什麼錯誤? – 2012-04-24 04:37:14
嘗試使用'<?php file_put_contents('/ var/www/upload/test.txt','test');''請求'index.php'。您是否看到任何錯誤,並且文件是否成功創建? – Casey 2015-01-02 23:48:25