PHP:为什么chmod()将我的文件/文件夹设置为555或444?

PHP:为什么chmod()将我的文件/文件夹设置为555或444?,php,permissions,chmod,Php,Permissions,Chmod,我用文件浏览器创建了一个web应用程序。我试图添加一个功能,用户可以通过ajax请求更改chmod/权限,该请求通过后端的PHP处理 旁注:我正在用WAMP运行我的本地服务器 最初,我用这个来读取权限 substr(sprintf('%o', fileperms($relativePath)), -4) 要获取此格式07770644等,如果不是,则返回类似于32726的内容。此信息用于在UI中显示,以便用户了解当前的内容 但是,当我运行脚本时,我将其设置为0777,它似乎运行良好。但当我再次读

我用文件浏览器创建了一个web应用程序。我试图添加一个功能,用户可以通过ajax请求更改chmod/权限,该请求通过后端的PHP处理

旁注:我正在用WAMP运行我的本地服务器

最初,我用这个来读取权限

substr(sprintf('%o', fileperms($relativePath)), -4)
要获取此格式07770644等,如果不是,则返回类似于32726的内容。此信息用于在UI中显示,以便用户了解当前的内容


但是,当我运行脚本时,我将其设置为0777,它似乎运行良好。但当我再次读取该文件时,它返回0555或0444。有人知道我遗漏了什么吗?

您的web服务器是否拥有试图更改权限的文件?您可以通过测试chmod的返回值来检查chmod是否正确运行或失败。如果Web服务器没有权限,则返回FALSE。有关更多信息,请阅读:


我意识到这不是一个问题,但是chmod命令在windows/apache设置中无法正常工作。

这与javascript有什么关系?我添加了javascript,因为我使用它来发出请求。我想如果有人有相同的设置,它将有助于搜索。我实际上有一个非常类似的PHP端设置。。。问题不在于它是否成功,而在于,一旦我处理了将perm更改为777的请求,并使用上面提供的代码片段再次读取该文件,它将返回555或444。
<?php 

$is_success = chmod("myfile.pdf", 777);
if($is_sucess) {
     echo "success<br />\n";
}