【PHP8.x】SplFileObject::ftruncate()メソッドの使い方
ftruncateメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
ftruncateメソッドは、SplFileObjectクラスのインスタンスが表すファイルの長さを変更するメソッドです。具体的には、ファイルのサイズを指定したバイト数に切り詰める、あるいは拡張する処理を実行します。このメソッドは、ファイルの内容を保持しつつ、その物理的なサイズを調整したい場合に利用されます。
引数としてsize(整数)を受け取ります。このsizeがファイルの新しい長さとなります。現在のファイルサイズよりも小さいsizeを指定した場合、ファイルは指定された長さに切り詰められ、超過した部分のデータは完全に失われますので注意が必要です。一方、現在のファイルサイズよりも大きいsizeを指定した場合、ファイルは指定された長さまで拡張され、新しく追加された領域はヌルバイト(バイナリ0)で埋められます。
このメソッドが正常に実行された場合はtrueを、何らかの理由でファイルの長さの変更に失敗した場合はfalseを返します。ftruncateメソッドを使用する際は、対象のファイルが書き込み可能なモードで開かれている必要があります。また、データ損失のリスクがあるため、特にファイルの一部を削除する形で切り詰める場合は、事前にバックアップを取るなどの対策を検討することが重要です。このメソッドは、ファイルの内容を編集するのではなく、ファイルの物理的なサイズを管理する目的で使用されることを理解してください。
構文(syntax)
1<?php 2$file = new SplFileObject('path/to/your/file.txt', 'r+'); 3$success = $file->ftruncate(100);
引数(parameters)
int $size
- int $size: ファイルを切り詰めるバイト単位のサイズを指定する整数
戻り値(return)
bool
ファイルポインタの位置からファイルサイズを指定された長さに切り詰める(または拡張する)操作が成功したかどうかを真偽値で返します。成功した場合はtrue、失敗した場合はfalseを返します。