【问题标题】:chmod is not working on php and I can not write a file!chmod 不适用于 php,我无法写入文件!
【发布时间】:2023-03-09 14:47:01
【问题描述】:

你好我想用php写一个文件,但我什么都写不出来。当我编写此测试函数时,出现“无法更改文件定名的模式”错误。如何使用 chmod 以便我可以写入文件感谢您的帮助..

   <?php
        function file_write($filename, $flag, &$content) {
            if (file_exists($filename)) {
                if (!is_writable($filename)) {
                    if (!chmod($filename, 0666)) {
                         echo "Cannot change the mode of file ($filename)";
                         exit;
                    };
                }
            }
            if (!$fp = @fopen($filename, $flag)) {
                echo "Cannot open file ($filename)";
                exit;
            }
            if (fwrite($fp, $content) === FALSE) {
                echo "Cannot write to file ($filename)";
                exit;
            }
            if (!fclose($fp)) {
                echo "Cannot close file ($filename)";
                exit;
            }
        } 
$a="osman";  file_write("deneme", "w", &$a); 
?>

【问题讨论】:

    标签: php chmod fwrite


    【解决方案1】:

    请参阅 php 手册和 chmod() 函数http://php.net/manual/en/function.chmod.php,因为您需要对该文件夹/文件的写入权限

    【讨论】:

    • 我已经读过那里,甚至那个测试功能也是从那个页面上获取的。但我找不到任何解决方案...
    • 你的文件 chmod 现在是什么?你试过改变chmod吗
    • 是的,虽然我在终端中更改了 chmod,但我无法使用 php 进行更改。即使安全模式已关闭,但我仍然无法使用 chmod:S
    • 你的 ssh 用户:组是什么,你的 webserver/php 用户:组是什么,你现在的文件夹文件权限是什么。你可以用 ls-la 文件名和 ls -la 文件夹名找到它
    【解决方案2】:

    我猜主要是“当前用户是运行 PHP 的用户”。你可以对你通过php脚本创建的文件执行chmod吗?

    【讨论】:

    • 我既不能写也不能创建文件
    【解决方案3】:

    我不确定您是否查看过umask

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-07
      • 2018-03-10
      • 1970-01-01
      • 2010-12-01
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多