PHP fopen () Ошибка: не удалось открыть поток: разрешение отклонено

Я изучаю, как писать плагин WordPress. Мне нужна помощь в написании некоторых данных в XML-файле. Я нахожусь на своей локальной машине, Mac работает с MAMP. У меня 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 (): поставляемый аргумент не является допустимым ресурсом потока в /Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php в строке 75

Предупреждение: fclose (): предоставленный аргумент не является допустимым ресурсом потока в /Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.php в строке 76

Я попытался использовать абсолютный путь в строке $ file_handle: http: //my_site/wp-content/plugins/my_plugin_folder/markers.xml . Но это не сработало.

Я также попытался изменить разрешения на markers.xml следующим образом:

(Me): Чтение и запись (неизвестно): Читайте только все: Чтение и запись

По какой-то причине мой Mac не позволил мне изменить (неизвестно) на «Чтение и запись». Я не уверен, что это имеет значение. Я щелкнул правой кнопкой мыши по файлу и выбрал «Получить информацию», чтобы изменить разрешения.

В phpInfo () у меня есть:

«Зарегистрированные потоки PHP https, ftps, compress.zlib, compress.bzip2, php, file, data, http, ftp»

Проблема WordPress вызывает проблему? или это просто проблема с PHP?

Любые предложения по решению этой проблемы?

Спасибо.

Возможно, вам придется изменить права администратора. Откройте терминал на вашем Mac, а затем откройте каталог, в котором находится markers.xml. Затем введите:

 sudo chmod 777 markers.xml 

Вам может быть предложено ввести пароль. Кроме того, это могут быть каталоги, которые не позволяют получить полный доступ. Я не знаком с WordPress, поэтому вам может потребоваться изменить разрешение каждого каталога, перемещающегося вверх в каталог mysite.

[function.fopen]: failed to open stream

Если у вас есть доступ к файлу php.ini, попробуйте включить Fopen. Найдите соответствующую строку и установите ее как «on»: & if в wp например localhost / wordpress / function.fopen в php.ini:

 allow_url_fopen = off should bee this allow_url_fopen = On And add this line below it: allow_url_include = off should bee this allow_url_include = on