【问题标题】:Setting permissions in PHP on server在服务器上的 PHP 中设置权限
【发布时间】:2012-06-06 06:11:36
【问题描述】:

我正在尝试在 php 中创建一个非常简单的网页,让人们将图像上传到我服务器上的文件夹。我用一些已完成的代码使这变得非常简单,并且它在我的计算机上使用 xampp 运行得非常好,但是当我将页面上传到我的服务器时,每次上传任何内容时都会收到一条错误消息。错误是当脚本检查图像是否已上传时,它会说

$copied = copy($_FILES['image']['tmp_name'], $newname);
if(!$copied)
   echo "error";

这让我相信权限有问题。但是我该如何设置呢?我应该把它设置成什么?我只需要其他人能够将图像上传到特定文件夹。

【问题讨论】:

    标签: php file upload permissions


    【解决方案1】:

    网络服务器需要写入权限才能写入您存储图像的目录。

    假设你在Linux服务器上,将/path/to/uploaded/images更改为图片上传目录后,在服务器(ssh)上运行以下命令,看看是否解决问题:

    chmod 777 /path/to/uploaded/images
    

    如果这样可以解决问题,您可能可以将权限放宽为:

    chmod 664 /path/to/uploaded/images
    

    这些是目录权限的基本命令,您可以在this tutorial 中了解有关 Linux 上的文件权限的更多信息。

    或者,您可以使用move_uploaded_file() 将上传的文件复制到已知位置。

    【讨论】:

    • 好的,感谢您的快速回复。但是,我自己只是在服务器上的子文件夹中拥有权限。这是一个学校服务器,我必须在其中输入用户名和密码才能访问我的学号文件夹。仅更改此文件夹的权限是否有帮助,还是我已更改整个学校的权限..?
    • 您可以只更改文件夹的权限。您可能需要set the execute permission bit 以便网络服务器可以“看到”上传目录。但是你真的只需要修改一个文件夹的权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2014-01-25
    • 2012-04-29
    • 2018-12-11
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多