PHP - File Read

In this tutorial we will teach you how to read data from a file using various PHP functions.

 
PHP - File Open: Read

Before we can read information from a file we have to use the function fopen to open the file for reading. Here’s the code to read-open the file we created in the PHP File Write tutorial.

<?php
 
  $myFile = "testFile.txt";
  $fh = fopen($myFile, 'r');
?>

The file we created in the last tutorial was named “testFile.txt”. Your PHP script that you are writing should reside in the same directory as “text.txt”. Here are the contents of our file from File Write.

testFile.txt Contents:

Robin
Henry

Now that the file is open, with read permissions enabled, we can get started.

 
PHP - File Read: fread Function

The fread function is the staple for getting data out of a file. The function requires a file handle, which we have, and an integer to tell the function how much data, in bytes, it is supposed to read.

One character is equal to one byte. If you wanted to read the first four characters then you would use four as the integer.

<?php
 
  $myFile = "testFile.txt";
  $fh = fopen($myFile, 'r');
  $theData = fread($fh, 4);
  fclose($fh);
  echo $theData;
?>

The output is:

Robi

The first five characters from the testFile.txt file are now stored inside $theData. You could echo this string, $theData, or write it to another file.

If you wanted to read all the data from the file, then you need to get the size of the file. The filesize function returns the length of a file, in bytes, which is just what we need. The filesize function requires the name of the file that is to be sized up.

<?php
 
  $myFile = "testFile.txt";
  $fh = fopen($myFile, 'r');
  $theData = fread($fh, filesize($myFile));
  fclose($fh);
  echo $theData;
?>

The output is:

Robin Henry

Note: It is all on one line because our “testFile.txt” file did not have a
tag to create an HTML line break. Now the entire contents of the testFile.txt file is stored in the string variable $theData.

 
PHP - File Read: gets Function

PHP also lets you read a line of data at a time from a file with the gets function. This can or cannot be useful to you, the programmer. If you had separated your data with new lines then you could read in one segment of data at a time with the gets function.

Lucky for us our “testFile.txt” file is separated by new lines and we can utilize this function.

<?php
 
  $myFile = "testFile.txt";
  $fh = fopen($myFile, 'r');
  $theData = fgets($fh);
  fclose($fh);
  echo $theData;
?>

The output is:

Robin

The fgets function searches for the first occurrence of “\n” the newline character. If you did not write newline characters to your file as we have done in File Write , then this function might not work the way you expect it to.



Pages : 1 2 3 4