我使用文件浏览器创建了一个Web应用程序。我尝试添加一项功能,用户可以通过后端通过PHP处理的ajax请求更改 chmod / permissions 。
(旁注:我在WAMP上运行我的本地)
所以最初,我用这个
读取权限substr(sprintf('%o', fileperms($relativePath)), -4)
获取此格式(0777,0644等),如果不是,则返回类似32726的内容。此信息用于在UI中显示,以便用户了解当前的信息。
但是,当我运行脚本时,我将其设置为0777,它似乎运行正常。但是当我再次阅读该文件时,它会返回0555或0444.任何人都知道我错过了什么?
答案 0 :(得分:0)
您的网络服务器是否拥有尝试更改权限的文件?您可以通过测试其返回值来检查chmod是正确运行还是失败。如果网络服务器没有权限,它将返回FALSE。有关详细信息,请参阅:http://php.net/manual/en/function.chmod.php
<?php
$is_success = chmod("myfile.pdf", 777);
if($is_sucess) {
echo "success<br />\n";
}
答案 1 :(得分:0)
我意识到这不是问题,而是chmod
命令在windows / apache设置上无法正常工作。