我能够将数据写入Ubuntu中的/tmp
目录,但是对于写入/var
目录或Desktop
等其他目录,我无法编写内容。这是一个权限问题还是别的,因为我能够编辑,修改和读取这些目录中的任何文件,但是只能在/tmp
目录中通过PHP代码编写我能写的。
我的代码如下:
$output = "/tmp/image5.png";
//$output = "/home/anand/Desktop/image5.png"
file_put_contents($output, curl_exec($request));
第二个$output
无效。
答案 0 :(得分:1)
这是许可问题。想象一下如果每个人都可以写在每个人的文件夹中会发生什么。或者从中删除。
您无法从PHP脚本写入桌面,因为php脚本没有写入权限,因为它是从apache用户运行的(可能是www-data)。
您可以写入/tmp
目录,因为这些文件只是临时存储的,每个人都可以写入该文件夹。
如果要写入特定文件夹(例如/home/anand/Desktop/
),则需要将其选择为www-data(不建议用于桌面文件夹),或使用chmod 777 /home/anand/Desktop
进行写入对所有人的许可(也不推荐,因为其他用户可以写入您的桌面)。