0

これは簡単な質問ですが、http: //www.stevedawson.com/scripts/text-counter.php から PHP カウンター スクリプトをダウンロードしました。

これは、Google での PHP カウンター スクリプトの最初の結果であり、期待どおりに機能しました。

255 件のリクエストがオーバーフローして 0 に戻った後、ブラウザで更新を保持して、問題が発生するかどうかを確認しようとしました。このスクリプトを修正するにはどうすればよいですか? 犯人はおそらく1バイトのデータしか取得できないと思いますが、実際にはデータの権利filesize()なので意味がありませんか? プレーンテキスト形式で保存されるので?2553 bytes

なぜオーバーフローするのでしょうか?それはPHPでさえ、オーバーフローしてはならず、より大きなデータ型に自動的に変化します。

<?php
    $orderCountFile = "order_num_count.txt";
    if (file_exists($orderCountFile)) {
        $fil = fopen($orderCountFile, r);
        $dat = fread($fil, filesize($orderCountFile)); 
        echo $dat+1;
        fclose($fil);
        $fil = fopen($orderCountFile, w);
        fwrite($fil, $dat+1);
    } else {
        $fil = fopen($orderCountFile, w);
        fwrite($fil, 1);
        echo '1';
        fclose($fil);
    }
?>

ええ、スクリプトを別の目的に作り直し始めました。これを使用して、Web サイトの注文番号を追跡します。

修正するには$dat、より大きな整数型に再キャストする必要があると思いますが、PHP でキャストすることはできますか?

また、それらrwは文字列であると思われますが、定数として使用されていますが、問題は発生していないようです。

4

1 に答える 1