【问题标题】:How I can change owner of files written by php我如何更改由 php 编写的文件的所有者
【发布时间】:2013-11-08 22:05:39
【问题描述】:

如何从终端(命令行)更改 php 编写的文件的所有者?这些文件是通过上传表单在合适的文件夹中创建的。

非常感谢

【问题讨论】:

    标签: apache terminal file-permissions


    【解决方案1】:

    使用命令“chown”:

    chown owner filenames
    

    为了在以后的上传中解决这个问题,可以使用chown命令:

    chown($path, $user_name);
    

    http://php.net/manual/en/function.chown.php

    还有一个 chmod 命令,如果您想更改权限:

    http://www.php.net/manual/en/function.chmod.php

    【讨论】:

    • 感谢您的回答;我希望 PHP 在特定文件夹中写入的每个新文件都设置有特定的所有者。我希望我清楚
    • 文件将以 PHP 用户作为所有者创建。如果你想改变它,你将不得不使用 PHP 本身的 chown (在文件上传之后)。方法是一样的,但是来自 PHP 文件。
    • 在我的网络空间中,只有将权限设置为777,我才能写入新文件;我更喜欢避免..并将文件夹设置为 775;为此我要求解决方案
    【解决方案2】:

    也许您可以使用 PHP 的 exec 命令在 PHP 程序本身中更改所有者(当然,如果您有权限这样做)。

    例如:

    exec('whoami');
    

    在此处查看此 php 指令的文档:http://php.net/manual/en/function.exec.php

    这可能有效,但前提是服务器配置允许。

    如果这不起作用,你也可以试试这个,但你需要一些特权才能做到这一点:

    // File name and username to use
    $file_name= "foo.php";
    $path = "/home/sites/php.net/public_html/sandbox/" . $file_name ;
    $user_name = "root";
    
    // Set the user
    chown($path, $user_name);
    

    在此处查看此 php 指令的文档:http://php.net/manual/en/function.chown.php

    php 中有一些指令可以修改文件属性,如 chmod、chown 等。

    【讨论】:

    • 感谢 jltorresm;如果我的服务器不允许此功能?有替代解决方案吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 2022-09-28
    • 1970-01-01
    • 2015-06-18
    • 2013-11-13
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多