0
我有一些非常大的文本文件 - 每个100MB包含一个单行字符串(只有1行)。我想从每个字节中提取最后的xx字节/字符。我知道如何通过在字符串中读取它们然后通过strpos()或substr()来进行搜索,但是这需要大量的RAM,这对于这样的小动作来说是不可取的。PHP获取文本文件的最后xx个字节?
在执行搜索之前,有没有其他方法可以提取文本文件的最后50个字节/字符?
谢谢!
我有一些非常大的文本文件 - 每个100MB包含一个单行字符串(只有1行)。我想从每个字节中提取最后的xx字节/字符。我知道如何通过在字符串中读取它们然后通过strpos()或substr()来进行搜索,但是这需要大量的RAM,这对于这样的小动作来说是不可取的。PHP获取文本文件的最后xx个字节?
在执行搜索之前,有没有其他方法可以提取文本文件的最后50个字节/字符?
谢谢!
您可以使用fseek:
$fp = fopen('somefile.txt', 'r');
fseek($fp, -50, SEEK_END); // It needs to be negative
$data = fgets($fp, 50);
你得有正确;该数字需要为负数:http://php.net/manual/en/function.fseek.php – 2013-04-21 10:04:45
你可以考虑使用https://code.google.com/p/php-tail/ – Ejaz 2013-04-21 09:59:58