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