从php中的文件中读取1000个字节的块

时间:2013-09-10 14:15:23

标签: php arrays file

如何使用php从文件中读取1000字节块到任何数组? 一旦我读完所有文件,我需要通过每个数组索引访问1000字节块。我的算法看起来像这样:

 foreach($files as $file)
{
    $payload=NULL;
    $file_handle = fopen($file, "r");
    $data = fgets($file_handle);
    $payload = $payload.$data;
    if (strlen($payload) == 1000)
    {
        break;
    }
}

但是我发现很难从上次停止下一个1000字节的同一个地方回读。任何建议都会有所帮助

1 个答案:

答案 0 :(得分:2)

从一个空数组开始,每次使用fread()读取1000个字节的块,直到它失败,或者块读取变得小于1000个字节。

$all_data = array();
while (($data = fread($file_handle, 1000)) !== false && strlen($data) == 1000) {
    $all_data[] = $data;
}
fclose($file_handle);

如果小于1000字节的块可以,你可以不使用条件的第二部分:

while (($data = fread($file_handle, 1000)) !== false) {