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