所以我测试了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