0

私は奇妙な状況に直面しています。CakePHP 2.0(ローカル)、XAMPPを使用していて、ホームページに単純なヒットカウンターを追加したかったので、次のコードを追加しました(非常に単純です)

<?php
$filename = 'hitcount.txt';
$handle = fopen($filename, 'r');
$hits = trim(fgets($handle)) + 1;
fclose($handle);

$handle = fopen($filename, 'w');
fwrite($handle, $hits);
fclose($handle);

echo $hits;

ヒット数を含むという名前のテキストファイルがありますhitcount.txt(ページにアクセスするたびに、ヒット数が増えるはずです)。できます。hitcount.txtファイルにアクセスしようとすると、問題が発生しました。空でしたが、のエコーが$hits正確な結果を返しました!ファイルを削除しましたが、期待どおりの結果が表示されます。同じブラウザを使用しました。CakePHPのキャッシュを削除しましたが、変更はありません。別のページで同じコードを使用しましたが、エラーが発生せず、期待どおりの結果が返されました。

Cakephpが存在しないファイルを「見る」ことはどのように可能ですか?Apacheとは何か関係がありますか?

4

1 に答える 1

0

あなたはおそらく CakePHP のものとして間違った場所にファイルを表示します。私の推測では、CakePHP は のファイルを参照していますapp/webroot/hitcount.txt

hitcount.txtあなたと CakePHP が両方とも同じ場所を参照していることを確認できるように、 の完全なパスを定義したい場合があります。

<?php
$filename = TMP.'hitcount.txt';

これにより、ファイルは「app/tmp/hitcount.txt」に配置されます。

于 2012-07-25T15:56:55.813 に答える