【问题标题】:PHP-uploaded file has incorrect permissionsPHP 上传的文件权限不正确
【发布时间】:2014-10-23 17:48:49
【问题描述】:

我正在使用 PHP 来允许用户上传文件。正在上传文件,但文件的权限不正确。我设置了文件夹的权限并选中了适用于文件夹中所有子项的框。

这仅在我对新上传的文件进行一次更改后才有效。如果我不更改权限,它会得到这个默认设置,这会破坏我的应用程序的其余部分。

例如,C:\uploads\ 设置为允许“所有人”组中的用户进行读写。但是,这不适用于新上传的文件,直到我对该特定文件的权限执行某些操作(添加或删除任何用户或组到其权限 - 此更改会被文件夹的权限覆盖)。

这是在 Windows Server 2003 上的 IIS6(我相信)

【问题讨论】:

    标签: php permissions windows-server-2003


    【解决方案1】:

    Windows 将文件上传到临时目录,然后使用临时目录权限移动它。如果您在此文件夹(upload_tmp_dir)上授予用户良好的权限,那么将没有问题。 你也可以使用windows系统命令: CACLS 或 ICACLS

    【讨论】:

    • 太棒了!一百万年后我都不会猜到这一点。在我的例子中,用户将图像文件上传到使用 PHP 的 MediaWiki。生成的文件权限不包括其他用户查看新上传文件所需的 Windows 安全组。按照 Daimos 的建议,我将该安全组添加到“%SystemRoot%\Temp”目录并解决了问题。
    【解决方案2】:

    做:

    chmod()

    上传后在您的文件上

    【讨论】:

    • `C:\uploads` 意味着一个 windows fs。没有chmod
    猜你喜欢
    • 2011-04-08
    • 2013-02-14
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 2012-05-26
    • 2013-02-05
    • 2010-09-05
    • 2016-05-07
    相关资源
    最近更新 更多