最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php 一行行读取文本文件
时间:2010-02-01 编辑:简简单单 来源:一聚教程网
例子
/**
*
* Read a line number from a file
*
* @param string $file The path to the file
* @param int $line_num The line number to read
* @param string $delimiter The character that delimits lines
* @return string The line that is read
*
*/
function readLine($file, $line_num, $delimiter=" ")
{
/*** set the counter to one ***/
$i = 1;
/*** open the file for reading ***/
$fp = fopen( $file, 'r' );
/*** loop over the file pointer ***/
while ( !feof ( $fp) )
{
/*** read the line into a buffer ***/
$buffer = stream_get_line( $fp, 1024, $delimiter );
/*** if we are at the right line number ***/
if( $i == $line_num )
{
/*** return the line that is currently in the buffer ***/
return $buffer;
}
/*** increment the line counter ***/
$i++;
/*** clear the buffer ***/
$buffer = '';
}
return false;
}
?>
Example Usage
/*** make sure the file exists ***/
$file = 'my_file.txt';
if( file_exists( $file ) && is_readable( $file ) )
{
echo readLine($file, 6);
}
else
{
echo "Cannot read from $file";
}
?>
This method of iterating over the file and seeking to the line number works well and is memory efficient, but it would be nice to have PHP do the work for us. PHP provides the SPL File Object which will do exactly what is required.
/*** the file to read ***/
$file = 'foo.txt';
/**
*
* Read a line number from a file
*
* @param string $file The path to the file
* @param int $line_num The line number to read
* @return string The line that is read
*
*/
function readLine( $file, $line_number )
{
/*** read the file into the iterator ***/
$file_obj = new SplFileObject( $file );
/*** seek to the line number ***/
$file_obj->seek( $line_number );
/*** return the current line ***/
return $file_obj->current();
}
echo readLine( $file, 345678 );
?>
-
上一个: php 给GIF 缩略图实例代码
-
下一个: php 图片转换成ascii 输出图像
相关文章
- php怎么打开文件 php读取文件内容的三种方法 02-23
- php 文件读取与读取文件输出内容例子 03-03
- PHP几个快速读取大文件例子 10-14
- PHP读取大文件的几种方法介绍 10-04
- php读取大文件最好的实现方法 07-28
- php读取超大文件实现例子 04-22