我使用Ubuntu作为我的操作系统,我有XAMPP。在htdocs
文件夹中,我创建了一个项目文件夹,其中包含index.php
文件。现在在index.php中,代码的一部分执行此操作:
fopen("colors_new.csv", "w");
来自manual,
' W'仅供写作;将文件指针放在开头 该文件并将文件截断为零长度。 如果文件没有 存在,试图创造它。
但是我没有创建文件,而是
Warning: fopen(colors_new.csv): failed to open stream: Permission denied...
当我查看项目文件夹时,未创建colors_new.csv
文件。
当我在运行Windows操作系统的另一台计算机上运行此程序时,它会成功运行。文件已成功创建。
如何在Ubuntu中修复此问题?
我做了什么:
我尝试运行 sudo chmod 777 colors_new.csv
,但我得到 chmod: can not access colors_new.csv. No such file or directory.
。我在项目目录中的终端WAS时只用文件名(如图所示)尝试了这个;以及给出文件的完整绝对路径。两次都有同样的错误。
注意:我看到了其他问题,如上所示,我尝试授予该文件的权限。其他问题没有解决问题,下面接受的答案确实解决了。
答案 0 :(得分:2)
提供要在其中写入文件的文件夹的写入权限。你的问题将得到解决。
答案 1 :(得分:2)
这意味着您无权在index.php所在的目录中写入文件。你可以采取一些措施使其发挥作用
为目录提供文件写入权限。 使用755和文件644,如果设置正确,这就足够了。永远不会满员777,这是安全风险。
在目录中创建一个子目录,并提供足够的权限(755)来执行您想要的操作。 F.i.的fopen(” ./文件/ colors_new.csv)