【问题标题】:How to debug move_uploaded_file() in PHP如何在 PHP 中调试 move_uploaded_file()
【发布时间】:2010-05-25 21:34:35
【问题描述】:

move_uploaded_file() 不再对我有用,它工作正常,只是突然停止了。有没有办法让我检查它为什么不再工作?这是我目前拥有的,但它只返回 TRUE 或 FALSE。

$status = move_uploaded_file($tempFile, $targetFile);
if($status) {
  echo 'its good';
} else {
  echo 'it failed';
}

我知道路径 100% 正确,并且目录是 CHMOD 755。我可能做错了什么吗?

【问题讨论】:

  • 1.检查$_FILES 数组是否有错误; 2. 磁盘空间不足(配额?); 3. 非拉丁字符的目标文件名;

标签: php file file-upload uploadify


【解决方案1】:

也许这会起作用:

if(!move_uploaded_file($_FILES['attachement']['tmp_name'], $uploadfile)) {

echo 'Your file was not uploaded please try again
here are your debug informations:
'.print_r($_FILES);

      } else {

          echo 'image succesfully uploaded!';

      } 

【讨论】:

  • 您应该很好地格式化您的代码,以便于阅读。此外,这使得出错变得更加困难。
【解决方案2】:

检查您的错误报告级别(请参阅error_reporting 函数)。您应该会收到更具描述性的警告或通知。

另外,检查您的 PHP 脚本运行的用户(通常是服务器的用户,在很多系统上是 nobodywww-data,但 YMMV)拥有该目录。使用755,只有目录的所有者可以写入。

【讨论】:

    【解决方案3】:

    755 的权限意味着只有目录的所有者可以写入该目录。

    所以问题是,谁是所有者以及运行 web-server/php 的用户是什么?

    如果它们不匹配,您可以更改所有权或组(也可以将权限更改为 775)。

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 2011-07-10
      • 2011-05-13
      • 1970-01-01
      • 2018-07-06
      • 2011-07-20
      • 1970-01-01
      • 2011-03-30
      • 2019-06-22
      相关资源
      最近更新 更多