Read Line From File
<?php/**
*
* 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="\n")
{
/*** 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;
}?>
*
* 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="\n")
{
/*** 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;
}?>
<?php/*** 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";
}?>
if( file_exists( $file ) && is_readable( $file ) )
{
echo readLine($file, 6);
}
else
{
echo "Cannot read from $file";
}?>
On PHP 5 and later versions
<?php/*** 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 );?>
/**
*
* 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 );?>
array
as specified by theoffset
andlength
parameters.