在 PHP 中,使用 fseek() 函數處理二進制文件與處理文本文件非常相似。fseek() 函數允許您在文件中移動讀取或寫入指針到指定位置。以下是如何使用 fseek() 處理二進制文件的示例:
<?php
// 打開一個二進制文件以供讀取
$filename = 'binary_file.bin';
$fp = fopen($filename, 'rb');
if (!$fp) {
die("Error opening file: $filename");
}
// 將文件指針移動到第 1024 字節的位置
$offset = 1024;
fseek($fp, $offset, SEEK_SET);
// 讀取從當前文件指針位置開始的 512 字節
$buffer = fread($fp, 512);
echo "Data from offset $offset:\n";
echo $buffer;
// 將文件指針移回文件開頭
fseek($fp, 0, SEEK_SET);
// 讀取整個文件內容
$content = fread($fp, filesize($filename));
echo "\nFull content of the file:\n";
echo $content;
// 關閉文件
fclose($fp);
?>
在這個示例中,我們首先以二進制讀取模式('rb')打開一個文件。然后,我們使用 fseek() 函數將文件指針移動到第 1024 字節的位置。接下來,我們從當前文件指針位置讀取 512 字節的數據,并將其輸出。最后,我們將文件指針移回文件開頭并讀取整個文件內容。在完成所有操作后,我們關閉文件。