-1

php ファイルが含まれている/必要な場合、そのfwrite中に関数が含まれている/必要な場合、ファイルは書き込まれません!

書き込む唯一の方法は、含まれている/必要なファイルに直接アクセスして、書き込みアクティビティをlog.txt開始できるようにすることです。

これを回避する方法はありますか?

main.php

require("inside.php")

inside.php

//debug mode
$myFile = "test.txt"; $fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, "testing shiz"."\n"); fwrite($fh, "============="."\n");
fclose($fh);     

main.php が実行されると、ファイルは書き込まれません。inside.php を実行したときだけ書き込みます。

4

1 に答える 1

0

含まれている/必要なファイルは、それを呼び出すファイルと同じディレクトリにないと思いますか? つまり、思い通りにはいかないということです。

例えば:

www.domain.com/file.phpには次のものがあります。

include('directory/write_file.php');

*write_file.php* にfwrite-statement がある場合、たとえば to 'log.txt'、ファイルはルート フォルダーwww.domain.com/log.txtに配置されます。これは、 file.phpがルート フォルダーにあり、それが現在のフォルダーであるためです。作業ディレクトリ (必要に応じgetcwd()て、現在の作業ディレクトリを取得するために使用します)。

ファイルが正しい場所に配置されていることを確認するには、次のように絶対パスを使用します。

/var/www/httpdocs/logs/log.txt

繰り返しますが、-関数を使用して、必要getcwd()なディレクトリを見つけることができます。

于 2013-04-10T20:11:13.653 に答える