PHPはファイルを指定された長さに切り詰めます

王林
リリース: 2024-03-21 11:46:01
転載
536 人が閲覧しました

php エディタ Baicao は、PHP でファイルを特定の長さに切り詰める方法を紹介します。 PHP では、ftruncate() 関数を使用してファイルの切り詰めを実装できます。つまり、ファイルを指定した長さに切り詰めることができます。この関数は、ファイルの切り捨てやファイルサイズのリセットなどの操作に使用でき、ファイル操作の処理において非常に実用的な関数です。この機能を使いこなすことで、ファイルの管理や処理がより柔軟になり、コードの効率や可読性が向上します。

PHP ファイルの切り詰め

######導入######

php

file_put_contents()

関数を使用すると、ファイルを指定した長さに切り詰めることができます。トランケーションとは、ファイルの末尾の一部を削除し、ファイルの長さを短くすることを意味します。 ######文法###### file_put_contents($filename, $data, SEEK_SET, $offset);

$filename: 切り詰められるファイル パス。

$data
ログイン後にコピー
: ファイルに書き込まれる空の
    string
  • SEEK_SET
  • : ファイルの先頭に書き込みポインタを設定するように指定します。 $offset: ファイルを切り詰めるバイト数を指定します。
  • ######例###### 次の例では、ファイル「myfile.txt」を 5 バイトに切り詰めます。
  • 高度な使用法

file_put_contents() ファイルを切り詰めるために使用できる関数の高度な使用法もいくつかあります。

追加モード:
ログイン後にコピー
FILE_APPEND

フラグが file_put_contents() に渡される場合、ファイルは切り詰められる前に既存の長さの末尾に追加できます。 。

file_put_contents($filename, $data, FILE_APPEND, 5);

  • ブロックごとに切り詰める: flock() 関数を使用すると、ファイルを切り詰める前にファイルを排他的に lock することができます。これにより、複数のプロセスが同時にファイルを切り捨ててデータ破損を引き起こすことを防ぎます。
flock($fh, LOCK_EX); file_put_contents($filename, $data, SEEK_SET, 5); 群れ($fh, LOCK_UN);
######予防######
ログイン後にコピー
    ファイルを切り詰めると、既存のファイルの末尾にあるデータがすべて削除されます。
  • ファイルの切り詰めは元に戻せないため、ファイルを切り詰める前にデータをバックアップすることが非常に重要です。 $offset 値は切り捨てられるバイト数に影響するため、有効であることを確認してください。
  • ファイルが存在しない場合、
file_put_contents()
 はファイルを作成しますが、切り捨てはしません。 
ログイン後にコピー

代替プラン

  • file_put_contents()
  • 以外にも、ファイルを切り詰めるための代替手段があります:
  • truncate()
  • 関数: この関数は、ファイルを切り詰めるために特別に使用されます。

fwrite() 関数と ftruncate()

関数を使用します。

この方法では、空の文字列をファイルに書き込み、ファイルの長さを切り詰めます。必要な長さにします。 ######ベストプラクティス######

    ファイルを切り詰める前にバックアップを作成してください。
  • #flock() 関数を使用してファイルをロックし、データの破損を防ぎます。
  • $offset
  • 値は切り捨てられるバイト数に影響するため、有効であることを確認してください。 パフォーマンスを向上させるために、代替手段 (truncate() 関数など) の使用を検討してください。

以上がPHPはファイルを指定された長さに切り詰めますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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