【问题标题】:PHP writable issue with move_uploaded_filemove_uploaded_file 的 PHP 可写问题
【发布时间】:2011-07-15 05:11:08
【问题描述】:

更改文件权限以允许上传图片后,我现在收到内部服务器错误,以下代码都没有机会执行。这一切都是在我更改文件夹 /upload 的文件权限时发生的。

PHP

<?php

$filename = 'http://www.divethegap.com/update/z-images/admin/upload/test.gif';
if (is_writable($filename)) {
    echo 'The file is writable';
} else {
    echo 'The file is not writable';
}

print_r($_FILES);
if ($_FILES['thumbfile']['error'] === UPLOAD_ERR_OK) {
    $info = getimagesize($_FILES['thumbfile']['tmp_name']);
    if (($info[2] !== IMG_GIF) && ($info[2] !== IMG_JPEG)) {
       die("not a gif/jpg");
    }
    if (filesize($_FILES['thumbfile']['tmp_name']) > 20000) {
       die("larger than 20000");
    }
    move_uploaded_file($_FILES['thumbfile']['tmp_name'], 'http://www.divethegap.com/update/z-images/admin/upload/test.jpg');

      echo '<script type="text/javascript">
parent.document.getElementById("thumbprogress").innerHTML = "Archiving"</script>Archiving';

  }
else
  {
  echo '<script type="text/javascript">
parent.document.getElementById("thumbprogress").innerHTML = "Invalid File Format"</script>Invalid File Format';
  }
?>

目前上传文件夹的文件权限对所有人都是可写的。

有什么想法吗?

太棒了

【问题讨论】:

  • 不要让文件世界可写。你会被黑。
  • 网络服务器的错误日志将包含触发 500 错误的详细信息。通常它会是一个糟糕的 .htaccess 文件,因为 PHP 很少会崩溃到无法吐出 PHP 错误消息的情况。

标签: php file-upload file-permissions


【解决方案1】:

您应该上传到本地文件夹,而不是 Internet URL,ej:

$filename = '/var/www/my-site/z-images/admin/upload/test.gif';

【讨论】:

  • 稍微澄清一下。应该是 /var/www/divethegap.com/update/z-images/admin/upload/test.gif ???
  • 它应该是您文件的路径。您可以使用 $_SERVER["DOCUMENT_ROOT"] 来提示您正在使用的路径。
猜你喜欢
  • 2016-09-19
  • 2014-07-05
  • 1970-01-01
  • 1970-01-01
  • 2011-07-20
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多