【问题标题】:File upload - permission denied (PHP) and cannot change permission文件上传 - 权限被拒绝(PHP)并且无法更改权限
【发布时间】:2014-06-24 20:57:28
【问题描述】:

我已通过 FileZilla 将我的网站上传到我的大学服务器。当我尝试上传图片时,它给了我错误。 (在 localhost 中测试时效果很好)

move_uploaded_file(images/a1d91430cf89bfcaa1a5fa953ebab2dc000e0eed.jpg): failed to open stream: Permission denied
move_uploaded_file(): Unable to move '/tmp/phpF1v2O3' to 'images/a1d91430cf89bfcaa1a5fa953ebab2dc000e0eed.jpg'

这里是编码

if (!array_key_exists('image', $add_image_errors)) {
    $new_name= (string) sha1($file['name'] . uniqid('',true));
    $new_name .= ((substr($ext, 0, 1) != '.') ? ".{$ext}" : $ext);
    $dest = "images/$new_name";
    if (move_uploaded_file($file['tmp_name'], $dest)) {
        $_SESSION['image']['new_name'] = $new_name;
        $_SESSION['image']['file_name'] = $file['name'];
        echo '<h4>The file has been uploaded!</h4>';
            } else {
                trigger_error('The file could not be moved.');
                unlink ($file['tmp_name']);
                }
            } // End of array_key_exists( ) IF.

我查看了许多论坛并了解这是文件权限的问题。因此,我将图像文件夹的权限从 FileZilla(755 到 777))更改了,但是由于某种原因它不允许我更改。

然后我尝试添加 chmod ("images",0777),但我给了我同样的错误 - chmod(): Permission denied

这里是编码

    $dest = "images/$new_name";
    chmod ("images",0777);

关于如何更改权限或编码中的任何替代方案以便图像可以上传和写入图像文件夹的任何想法?

我是 PHP 新手

非常感谢

【问题讨论】:

  • 您可能没有更改文件权限的权限。此外,当服务器是运行 php 的 Windows 服务器时,我已经看到了这种错误。
  • 大学的服务器可能不允许您或任何人执行任何特殊任务。联系系统管理员。
  • 看起来你无法控制。在大学系统中不足为奇。想象一下,如果他们让任何新手上传他们想要的任何内容,他们的系统会被多么破坏。
  • 我也是这么想的。 @凯青
  • 我认为这是您服务器的 tmp 目录中的权限问题。在某些共享主机中,我们无权使用 tmp_dir... 在您的根项目文件夹中创建一个假的 tmp 目录并尝试使用 ini_set('upload-tmp-dir', __DIR__ . '/tmp'); 更改您的 tmp 目录不要忘记将 chmod 777 应用到新的 tmp 目录.

标签: php


【解决方案1】:

在共享主机中,有时,您没有权限从默认临时目录读取和写入,请尝试将临时目录更改为项目的某个文件夹:

ini_set('upload-tmp-dir', '/real/path/of/your/directory');

【讨论】:

    【解决方案2】:

    您的系统管理员似乎对您的脚本修改文件系统的方式施加了限制。尤其是在大学环境中,必须进行严格的安全控制,以防止由学生或教职员工编写的不良代码或恶意代码引发的内部和外部漏洞。

    更具体地说,chmod(): Permission denied 表示您的系统管理员故意禁止在 PHP 中更改文件权限。

    简而言之,你被限制是为了防止在大学的服务器上发生顽皮的事情。

    【讨论】:

      猜你喜欢
      • 2015-09-03
      • 2013-10-15
      • 2016-01-05
      • 2014-12-06
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      相关资源
      最近更新 更多