我的服务器上有一个用于上传文件的脚本。它之前工作正常但突然无法将文件上传到服务器。我没有更改代码,我没有更改任何与php设置或目录权限相关的服务器。我没有在webserver(apache)中改变任何东西。我创建了一个小脚本来隔离问题,但我没有收到任何错误消息或警告。该脚本如下:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('error_reporting', E_ALL);
$target_path = "/var/www/vhosts/mydomain.com/httpdocs/userfiles3/2010-01-27/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
?>
答案 0 :(得分:1)
根据你的输出:
var_dump($_FILES);
array(1) {
["uploadedfile"]=> array(5) {
["name"]=> string(12) "DSC00562.JPG"
["type"]=> string(0) ""
["tmp_name"]=> string(0) ""
["error"]=> int(2)
["size"]=> int(0)
}
}
错误2表示该字段超出了html表单中指示的最大文件大小 正如您所见http://www.php.net/manual/en/features.file-upload.errors.php
您应该检查用于上传文件的表单中是否存在与
类似的内容<input type="hidden" name="MAX_FILE_SIZE" value="_a number_"/>
并删除它或指定更大的限制。
答案 1 :(得分:1)
我在其中一个服务器上遇到了类似的问题;问题是,php存储上传文件的临时目录已达到其分配的限制,因此无法容纳其他任何内容。
清理过时文件目录后,它再次正常工作。
答案 2 :(得分:0)
我有同样的问题,但我有客户端问题。我的Power Point Show(pps)文件已损坏。我用LibreOffice重新保存了,现在我的class-sharer脚本工作了!