我看了很多单文本数据的留言簿程序,发现这些程序效率很低,每次都要完全读入整个文件,
现求一种方法,可以获得我想要的一行数据,而又只读取那一行数据!
只能使用php!
---------------------------------------------------------------
使用fseek()定位
然后fgets
---------------------------------------------------------------
不是所有人都喜欢那么笨,是因为!文件只能那么读!这是磁盘原理!你就别做梦了!所以大家都如此写,我一直用文本存储数据!你的问题应该看磁盘存储原理你就file,explode这么读吧!
---------------------------------------------------------------
也许
$FD = fopen(...);
for($i=0;$i<n;$i++)
$str = fgets($FD);
$str = chop($str);
对于大文件来说可以做得更好一些。
---------------------------------------------------------------
如果你保存文件时强制你的每个记录的大小,比如1K,如果不足1K则结尾用空格填充,那么你用fseek()然后fgets将非常快。
fseek($FD,1000*n,SEEK_SET);
$content = fread($FD,1000);
$content = r
现求一种方法,可以获得我想要的一行数据,而又只读取那一行数据!
只能使用php!
---------------------------------------------------------------
使用fseek()定位
然后fgets
---------------------------------------------------------------
不是所有人都喜欢那么笨,是因为!文件只能那么读!这是磁盘原理!你就别做梦了!所以大家都如此写,我一直用文本存储数据!你的问题应该看磁盘存储原理你就file,explode这么读吧!
---------------------------------------------------------------
也许
$FD = fopen(...);
for($i=0;$i<n;$i++)
$str = fgets($FD);
$str = chop($str);
对于大文件来说可以做得更好一些。
---------------------------------------------------------------
如果你保存文件时强制你的每个记录的大小,比如1K,如果不足1K则结尾用空格填充,那么你用fseek()然后fgets将非常快。
fseek($FD,1000*n,SEEK_SET);
$content = fread($FD,1000);
$content = r
PHP高效读取TXT文件特定行技巧

这篇博客探讨了如何在PHP中高效地获取TXT文件的特定行数据,通过使用fseek()和fgets()函数组合,避免全文件读取。讨论了磁盘存储原理和不同文件读取方法的优缺点,建议根据数据量和需求选择合适的方法,如在数据量大时考虑使用数据库。
最低0.47元/天 解锁文章
594

被折叠的 条评论
为什么被折叠?



