我遇到了以下情况:
public_html - 755
=>头像- 777
=>民意测验- 755
现在当我使用下面的代码时,我会得到一个错误(警告: file_put_contents(../test.php)函数.file-put-contents:无法打开流:在XXX中权限被拒绝):
<?php
file_put_contents('../test.php','<?php');
?>但是当我使用下面的代码时,它会工作得很好:
<?php
file_put_contents('test.php','<?php');
?>(都是从《阿凡达》中执行的,0777)
我该如何解决这个问题呢?
发布于 2010-12-30 11:12:06
因为您的脚本是从拥有0777权限(全局读/写/执行)的avatar执行的,所以您能够在其中创建一个文件(即:file_put_contents("test.php"))是很正常的。
如果您不能在public_html中创建文件(例如:file_put_contents("../test.php")),这是因为执行脚本的用户(很可能是Apache用户)不是public_html的所有者(所有者很可能是FTP用户)。因为0755意味着只有所有者能够写入该目录,所以其他人只能从该目录读取或执行。
如果您有shell访问权限,则可以使用chown更改文件的所有者:
bash-4.1.5$ chown newuser public_html或者,您可以为非所有者使用更高权限的chmod,但您应该小心使用它。
发布于 2010-12-30 11:06:23
我猜即使你有0777权限,也不可能写到更高的文件夹。
在这个目录上使用chmod是不可能的,你必须使用FTP或者别的什么。
https://stackoverflow.com/questions/4559673
复制相似问题