重命名功能不适用于 php 中的文件夹

Posted

技术标签:

【中文标题】重命名功能不适用于 php 中的文件夹【英文标题】:Rename function don't work with folders in php 【发布时间】:2021-09-25 10:00:27 【问题描述】:

这是我的 php 代码

<?php
rename(realpath(dirname(__FILE__)) . '/old', realpath(dirname(__FILE__)) . '/new');
?>

我得到了这个错误

警告:重命名(C:\xampp\htdocs\goahead\php\old, C:\xampp\htdocs\goahead\php/new):C:\xampp 中的访问被拒绝(代码:5) \htdocs\goahead\php\test.php 在第 3 行

有什么问题?

【问题讨论】:

您能否详细说明您对诊断消息“访问被拒绝(代码:5)” 的理解是什么,或者您从中读出了什么? 我认为应该在 xampp 中启用一个权限,不确定 是的,可能是这样。但可能还有更多原因。例如,不能重命名文件夹,因为文件系统也可能拒绝重命名操作 for folder 访问它。 嗯,有没有其他功能可以重命名文件夹? 我不知道,但是如果您搜索此确切的错误消息,您还应该找到该错误以及 Windows 操作系统的一些贡献。所以你可能会找到一些更具体的信息,我手头没有 Windows,所以我无法真正回答。 【参考方案1】:

问题是 php 文件无权重命名文件确保您以管理员身份运行 Web 服务器(Windows)

对于 Linux,您将在终端中输入此代码

chmod 777 php_file.php

编辑 *

如果所有这些都不起作用,则转到需要重命名的文件中的属性,然后转到选项卡安全性并确保添加了每个用户并且可以编辑文件(Windows)

在 Linux 中,您应该检查文件所有者并更改它

【讨论】:

以上是关于重命名功能不适用于 php 中的文件夹的主要内容,如果未能解决你的问题,请参考以下文章

批量 zip 提取并使用 zip 文件名重命名

CKFinder插件 - PHP - 重命名文件夹时找到删除空格

Mass 301 Moved 永久重定向

301 重定向不适用于 url 中的 %20

用于递归重命名文件夹的 Bash 脚本

php 常量()不适用于命名空间?