PHP fopen() 错误: 无法打开流: 权限被拒绝
我学习如何编写WordPress插件。我需要一些帮助,将一些数据写入XML文件。我在我的本地机器上,一台运行MAMP的Mac。我有 PHP 5.2.13。在我的插件中,我有:
$file_handle = fopen('markers.xml', 'w');
$stringdata = "Test Info";
fwrite($file_handle, $stringdata);
fclose($file_handle);
运行上述操作会给我以下错误:
警告:fopen(markers.xml) [function.fopen]: 无法打开流: 权限被拒绝在 /Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php 第 73 行
警告:fwrite():在第 75 行的 /Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php 中,提供的参数不是有效的流资源
警告:fclose():在第 76 行的 /Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php 中提供的参数不是有效的流资源
我尝试在$file_handle行中使用绝对路径:http://my_site/wp-content/plugins/my_plugin_folder/markers.xml。但是,这并没有奏效。
我还尝试更改标记的权限.xml如下所示:
(我):读和写(未知):只读所有人:读和写
出于某种原因,我的Mac不允许我将(未知)更改为“读与写”。我不确定这是否会有所作为。我右键单击该文件并选择“获取信息”以更改权限。
在phpInfo()中,我有:
“Registered PHP Streams https, ftps, compress.zlib, compress.bzip2, php, file, data, http, ftp”
是WordPress设置导致了问题吗?或者只是PHP问题?
关于如何解决这个问题的任何建议?
谢谢。