在php中按字节数获取文件的一部分



如何让php只返回文件的一些字节?比如,我想把字节7到15加载到一个字符串中,而不读取文件的任何其他部分?重要的是,我不需要将所有文件加载到内存中,因为文件可能很大。

可以使用file_get_contents(),使用offset和maxlen参数。

$data = file_get_contents('somefile.txt', false, NULL, 6, 8);

使用fseek()fread()

$fp = fopen('somefile.txt', 'r');
// move to the 7th byte
fseek($fp, 7);
$data = fread($fp, 8);   // read 8 bytes from byte 7
fclose($fp);

使用梨:

<?php
require_once 'File.php';
//read and output first 15 bytes of file myFile
echo File::read("/path/to/myFile", 15);
?>

或者:

<?php
// get contents of a file into a string
$filename = "/path/to/myFile";
$handle = fopen($filename, "r");
$contents = fread($handle, 15);
fclose($handle);
?>

无论哪种方法,您都可以使用字节7-15来执行您想要的操作。我认为如果不从文件的开头开始,就不能在某些字节之后进行。

相关内容

  • 没有找到相关文章

最新更新