写入Ubuntu 12.04中没有发生的特定目录

时间:2014-04-08 11:30:39

标签: php file-io ubuntu-12.04

我能够将数据写入Ubuntu中的/tmp目录,但是对于写入/var目录或Desktop等其他目录,我无法编写内容。这是一个权限问题还是别的,因为我能够编辑,修改和读取这些目录中的任何文件,但是只能在/tmp目录中通过PHP代码编写我能写的。

我的代码如下:

 $output = "/tmp/image5.png";
 //$output = "/home/anand/Desktop/image5.png"

 file_put_contents($output, curl_exec($request));

第二个$output无效。

1 个答案:

答案 0 :(得分:1)

这是许可问题。想象一下如果每个人都可以写在每个人的文件夹中会发生什么。或者从中删除。

您无法从PHP脚本写入桌面,因为php脚本没有写入权限,因为它是从apache用户运行的(可能是www-data)。

您可以写入/tmp目录,因为这些文件只是临时存储的,每个人都可以写入该文件夹。

如果要写入特定文件夹(例如/home/anand/Desktop/),则需要将其选择为www-data(不建议用于桌面文件夹),或使用chmod 777 /home/anand/Desktop进行写入对所有人的许可(也不推荐,因为其他用户可以写入您的桌面)。