查詢

SplFileObject::ftruncate()函式—用法及示例

「 截斷檔案到指定的長度 」


函式名稱: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+' 模式)。

補充糾錯
上一個函式: SplFileObject::fwrite()函式
下一個函式: SplFileObject::ftell()函式
熱門PHP函式
分享連結