php はファイルの内容をクリアできます。実装方法は次のとおりです: 最初に PHP サンプル ファイルを作成し、次に "fopen($path, "r ");" を通じてファイルを開き、最後に "if( flock( $fh , LOCK_EX) ){...}" を実行してファイルの内容をクリアします。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
具体的な質問:
phpクリアファイルの中身は?
fopen($file, 'w ') を使用せずに PHP でファイルの内容をクリアする方法。
私の要件はこれです。ファイルを書き込んだ後の最後の内容がすべて削除されるようにしたいです。直接上書きすると、今回書いた内容のみがカバーされます。古い内容が長い場合は、 PHP プログラムは 24 時間稼働する必要があり、動作効率を確保する必要があります。 fopen() メソッドを試してみましたが、閉じるときに多くの時間が無駄であることがわかりましたファイル リソースを開くことをテストしました。ローカル マシンでファイル ロックをオンにすることをテストしました。ファイルをクリアするために fopen() を使用するたびに、実行できるのは 1 秒あたり 5,000 回だけです。読み取りと書き込みのみであれば、実行できます。 1秒間に20万回近くあるので、この目的を達成するために他の方法があるかどうか尋ねたいです。
実装コードは次のとおりです:
$fh = fopen($path, "r+"); if( flock($fh, LOCK_EX) ){//加写锁 $old_content=json_decode(fread($fh,filesize($path)),true); $old_content=$old_content.$new_content; ftruncate($fh,0); // 将文件截断到给定的长度 rewind($fh); // 倒回文件指针的位置 fwrite($fh,json_encode($old_content)); // @chmod($path,0644); flock($fh, LOCK_UN); //解锁 } fclose($fh);
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHPはファイルの内容をクリアできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。