Windows 10 不允许我删除目录属性中的只读复选框。
大家好;我正在学习编程,遇到了一个与操作系统有关而与编程无关的问题,只是为了将它们放在上下文中:
使用 symfony v5.3 在 php 中编程;需要能够对特定文件夹赋予写权限...
相关目录为:C:\xampp\htdocs\dev\p1\paguelofacil/var/cache/dev
该目录存在;您有必要的用户,并且这些用户具有读写权限;问题是,无论我如何尝试更改只读复选框,它仍然存在...
我已经尝试了这篇文章中提到的所有内容,但还是没有找到解决方案;甚至我没有收到任何错误...并且在文章中我确实提到了是否存在错误...
如果没有结果,甚至运行以下命令......
attrib -r C:\xampp\htdocs\dev\p1\paguelofacil\var\*.* /s
如果需要更多信息,请随时提出请求。
更新:
为了排除这是用户权限问题或者是 php 脚本问题,我做了以下操作:
- 我已经放置了一个补丁(PHP),在其中纠正了目录中的写权限:
echo 'Directory Exist '. $dir .'<br>';
echo get_current_user().'<br>';
echo substr(sprintf('%o', fileperms($dir)), -4).'<br>';
chmod ($dir, 755);
输出:
这样做的结果是:用糟糕的方式解决问题……
如果用户没有必要的权限;PHP 会抛出一个致命错误!修补此补丁后,错误被消除了,但这并不是正确的事。
这是不正确的,因为我不应该从我的代码中更改权限......假定权限必须位于目录的属性和特性上。
如果我删除补丁,则错误将再次出现;这告诉我,无论我放置属性还是权限都无关紧要;这都丢失了......
让我们澄清以下几点:为了在目录中创建文件(任何格式),我们程序员必须验证在该目录中我们可以写入...在 Linux 中,目录必须至少具有 755 权限;所以我问你在哪里可以对 Windows 做类似的事情?
当我们验证目录时,is_writable
如果目录具有权限,0555
它将返回 false(您无法写入此目录);此权限是通用的;它与任何用户无关;在 Linux 中,也会验证用户/组是否是目录的所有者...但我已经在 Windows 中建立了这一点,假定通过授予权限每个人,我授予所有用户访问权限……
答案1
该复选框不是状态指示器,而是三态开关。单击OK
或按钮时将应用选择状态Apply
这三个州是:
- 已检查:设置
ReadOnly
文件夹内所有文件的属性 - 已清除:清除
ReadOnly
文件夹内所有文件的属性 - 灰色方块:不采取任何行动(对话框显示时的默认设置)
这只是非常糟糕的用户界面设计,因为Hidden
复选框两个都开关和状态指示灯。
确定ReadOnly
文件夹属性状态的唯一准确方法是将Attributes
列添加Details
到文件管理器。
请注意,该属性不会影响文件夹或其内容的读/写权限。对于目录,它充当一个标志,告诉 Windows 处理文件夹的desktop.ini
文件(自定义文件夹图标、本地化显示名称和其他自定义行为)。
通过从对话框选项卡Advanced
访问的对话框检查文件夹的有效权限:Security
Properties
选择Effective Access
选项卡,然后选择用户:
然后选择View effective access
: