[英]How to read portions of a big gz file with PHP
我需要讀取一個大的 txt 文件(超過 1GB)才能提取其中的多個字符串。 使用 gzread,我可以從頭開始讀取 kb 的大小(比如說 1000000)。 但是我怎樣才能讀取文件的下 1000000kb 呢? 有沒有辦法從一個點開始並從那里讀取 1000000kb 直到文件未完成?
$filename = "my_big_file.txt.gz";
$zd = gzopen($filename, "r");
$readfile = gzread($zd,1000000);
$first_array = explode("IT\\",$readfile);
unset($first_array[0]);
foreach($first_array as $row){
$full_id = explode(" ",$full_id);
echo $full_id[0];
echo "<br>";
}
gzclose($zd);
將gzread
放在 while 循環中,如下所示:
<?php
$filename = "my_big_file.txt.gz";
$zd = gzopen($filename, "r");
while($readfile = gzread($zd,1000000)) {
//...your process
}
gzclose($zd);
如果您的意思是:您可以在沒有讀取前一百萬字節的情況下開始讀取 gzip 文件的第二百萬字節,那么答案是否定的。 您不能隨機訪問 gzip 文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.