【发布时间】:2021-02-07 13:36:58
【问题描述】:
我已将文件权限设置为 777,但我无法使用 PHP 写入文件。
我可以在我的 FTP 客户端中清楚地看到该文件具有 0777 权限,并且当我这样做时:
echo (true === is_writable('file.txt')) ? 'yes' : 'no';
我得到“不”;
我也试过了:
echo (true === chmod('file.txt', 0777)) ? 'yes' : 'no';
结果相同。
目录列表如下所示:
public_html
public 0777
css 0755
js 0755
file.txt 0777
我正在使用 .htaccess 文件将所有流量重定向到公共子文件夹。当然,我已经将文件排除在重写之外(可以从我检查的浏览器访问):
RewriteRule ^(file).* - [L]
为什么会这样?
【问题讨论】:
-
你有文件夹的写权限吗?
-
您能提供文件的目录列表吗?有没有可能你不是楼主?另外,可能是FTP服务器配置问题。
-
你为什么要做 === 操作符?
-
您可以使用普通文本编辑器或终端命令(触摸)写入文件吗?
-
@Daniel A. White:=== 运算符也检查类型相等性,既然我们已经知道 is_writable 返回一个布尔值,那么它应该与使用 == 的效果相同
标签: php apache mod-rewrite