函數(shù)名稱:SplFileObject::ftruncate()
適用版本:PHP 5 >= 5.1.0, PHP 7
函數(shù)描述:SplFileObject::ftruncate() 方法用于截斷文件到指定的長度。
語法:public SplFileObject::ftruncate(int $size) : bool
參數(shù):
- $size:要截斷文件的長度,以字節(jié)為單位。
返回值:
- 如果成功截斷文件,則返回 true,否則返回 false。
示例:
$file = new SplFileObject('example.txt', 'w+');
// 寫入內(nèi)容到文件
$file->fwrite("Hello, World!");
// 獲取文件大小
$size = $file->getSize();
echo "文件大?。簕$size} 字節(jié)" . PHP_EOL; // 輸出:文件大小:13 字節(jié)
// 截斷文件到指定長度
$file->ftruncate(5);
// 獲取截斷后的文件大小
$truncatedSize = $file->getSize();
echo "截斷后的文件大?。簕$truncatedSize} 字節(jié)" . PHP_EOL; // 輸出:截斷后的文件大?。? 字節(jié)
// 讀取截斷后的內(nèi)容
$file->rewind();
$content = $file->fread($truncatedSize);
echo "截斷后的內(nèi)容:{$content}" . PHP_EOL; // 輸出:截斷后的內(nèi)容:Hello
// 關(guān)閉文件
$file = null;
在上面的示例中,我們使用了 SplFileObject 類來打開一個名為 "example.txt" 的文件。然后,我們使用 fwrite() 方法將內(nèi)容寫入文件,并使用 getSize() 方法獲取文件的大小。接下來,我們使用 ftruncate() 方法將文件截斷到指定的長度(5 字節(jié)),并再次使用 getSize() 方法獲取截斷后的文件大小。最后,我們使用 fread() 方法讀取截斷后的內(nèi)容,并輸出到屏幕上。最后,我們關(guān)閉了文件。
請注意,使用 ftruncate() 方法時,需要確保文件已以可寫模式打開(例如,使用 'w+' 模式)。