上传停止工作突然! move_uploaded_file问题

时间:2010-01-27 22:50:35

标签: php upload

我的服务器上有一个用于上传文件的脚本。它之前工作正常但突然无法将文件上传到服务器。我没有更改代码,我没有更改任何与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!";
}

?>

3 个答案:

答案 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脚本工作了!