【问题标题】:PHP Function Rename Permission deniedPHP函数重命名权限被拒绝
【发布时间】:2012-07-31 04:51:59
【问题描述】:

在服务器中,脚本创建新文件夹,将 chmod 设置为 0777,但随后它尝试将文件移动到该文件夹​​,但出现错误:权限被拒绝。

mkdir("../".$new_1, 0777);
chmod("../".$new_1, 0777);

mkdir("../".$new_1."/".$new_2, 0777);
chmod("../".$new_1."/".$new_2, 0777);

rename("files/".$failai[$i].".jpg", "../".$new_1.'/'.$new_2."/".$failai[$i].".jpg");

警告:rename(files/new_file.jpg,../112a/112b/Tech_diz_1.jpg) [function.rename]: Permission denied in ..code/Jpg&Html.php on line 82

有什么解决办法吗?

【问题讨论】:

    标签: php permissions rename


    【解决方案1】:

    您还需要在源文件夹中具有读写权限。

    仅拥有目标文件夹的权限是不够的,因为文件已从其源中删除。

    【讨论】:

      【解决方案2】:

      您还应该有权更改文件"files/".$failai[$i].".jpg"。我猜这是不对的

      【讨论】:

        【解决方案3】:

        您对文件有写入权限吗?如果没有,请确保将文件chmod 发送至777 或至少发送至644

        另外,在重命名之前,通过在文件名上提供file_exists() 来检查文件是否存在。 :)

        另外,在移动文件后,您可能需要使用chmod() 设置权限以使其可用于重命名。你可以这样做:

        <?php
            chmod($uploadedFile, 0755);
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-01-23
          • 1970-01-01
          • 2013-04-21
          • 1970-01-01
          • 2012-05-01
          • 2012-07-07
          • 2012-07-27
          • 2013-08-07
          相关资源
          最近更新 更多