ホームページ > バックエンド開発 > PHPの問題 > PHPはファイルの内容をクリアできますか?

PHPはファイルの内容をクリアできますか?

藏色散人
リリース: 2023-03-09 13:34:01
オリジナル
2120 人が閲覧しました

php はファイルの内容をクリアできます。実装方法は次のとおりです: 最初に PHP サンプル ファイルを作成し、次に "fopen($path, "r ");" を通じてファイルを開き、最後に "if( flock( $fh , LOCK_EX) ){...}" を実行してファイルの内容をクリアします。

PHPはファイルの内容をクリアできますか?

この記事の動作環境: 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 サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート