繁体   English   中英

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

[英]Read blocks of 1000 bytes from file in php

如何使用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字节的同一个地方回读。 任何建议都会有所帮助

您从一个空数组开始,并使用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) {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM