WordPressテーマの仕組みを理解しようとしています。このために、さまざまな関数からファイルに書き込みたいと考えています。ファイルはサイトのルートにあります。
fwrite(fopen("output.txt", "a"), "Test output\n");
から/test.php
に出力し/output.txt
ます。深く入れ子になった関数に変数の値を書きたいです。上記のコード出力をコピーして、見つからない場所に貼り付けます。これ:
fwrite(fopen("/output.txt", "a"), "Test output\n");
どちらも機能しません。それは発生します:
Warning: fopen(/output.txt) [function.fopen]: failed to open stream: Permission denied in /public_html/test.php on line 17
Warning: fwrite() expects parameter 1 to be resource, boolean given in /public_html/test.php on line 17
このマニュアルでは、スキームとラッパーに関するいくつかのことを指定していますが、パスについてはあまり言及していません。
filename がローカル ファイルを指定していると PHP が判断した場合、PHP はそのファイルでストリームを開こうとします。ファイルは PHP からアクセスできる必要があるため、ファイル アクセス許可でこのアクセスが許可されていることを確認する必要があります。
safe mode
またはを有効にしている場合はopen_basedir
、さらに制限が適用される場合があります。
必要なパスを適切に参照するにはどうすればよいですか? また、PHP は相対パスで書き込む場所をどのように選択しますか?