Php 获取文本文件的第一个和最后100个字符
我有一个文本文件,在这个文本文件中,只有几行,但包含大约500-1000万个字符。我使用的是Php 获取文本文件的第一个和最后100个字符,php,performance,readfile,Php,Performance,Readfile,我有一个文本文件,在这个文本文件中,只有几行,但包含大约500-1000万个字符。我使用的是file\u get\u contents,但因为它读取整个文件,所以性能变得非常慢,执行时有时会挂起。是否有更有效的方法获取第一个和最后一个100个字符?您可以使用该方法指定必须从文件中读取的字节数 例如: $handle = fopen($filename, 'r'); $contents = fread($handle, 100); fclose($handle); echo $contents;
file\u get\u contents
,但因为它读取整个文件,所以性能变得非常慢,执行时有时会挂起。是否有更有效的方法获取第一个和最后一个100个字符?您可以使用该方法指定必须从文件中读取的字节数
例如:
$handle = fopen($filename, 'r');
$contents = fread($handle, 100);
fclose($handle);
echo $contents;
但是,无法确定这将是一个100个字符的字符串。这取决于字符编码。尝试此操作以获取前100个字符:
$fp = fopen('test.txt', 'r');
$data = fread($fp, 100);
echo $data;
fclose($fp);
$fp = fopen('test.txt', 'r');
fseek($fp, -100, SEEK_END);
$data = fread($fp, 100);
echo $data;
fclose($fp);
并获取最后100个字符:
$fp = fopen('test.txt', 'r');
$data = fread($fp, 100);
echo $data;
fclose($fp);
$fp = fopen('test.txt', 'r');
fseek($fp, -100, SEEK_END);
$data = fread($fp, 100);
echo $data;
fclose($fp);
这正是我想要的。非常感谢。