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():指定された引数は、/ 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のアクセス許可を次のように変更してみました。
(私):読み取りと書き込み(不明):すべてのユーザーのみ読み取り:読み取りと書き込み
何らかの理由で、私のMacで(不明)を読み取りと書き込みに変更できません。それが違いを生むかどうかはわかりません。ファイルを右クリックし、権限を変更するために「情報を見る」を選択しました。
PhpInfo()には、次のものがあります。
「登録済みPHP Streams https、ftps、compress.zlib、compress.bzip2、php、file、data、http、ftp」
WordPress設定が問題の原因ですか?またはそれだけでPHP issue?
この問題を解決する方法に関する提案はありますか?
ありがとうございました。
管理者として権限を変更する必要がある場合があります。 Macでターミナルを開き、markers.xmlがあるディレクトリを開きます。次に、次のように入力します。
Sudo chmod 777 markers.xml
パスワードの入力を求められる場合があります。また、フルアクセスを許可しないディレクトリである可能性もあります。私はWordPressに慣れていないので、各ディレクトリの許可をmysiteディレクトリに移動する必要がある場合があります。