File i/o



Open and Close Files

The PHP fopen() function is used to open a file. It requires two arguments stating first the file name and then mode in which to operate.


  • r - Opens the file for reading only. Places the file pointer at the beginning of the file.
  • r+ - Opens the file for reading and writing. Places the file pointer at the beginning of the file.
  • w - Opens the file for writing only. Places the file pointer at the beginning of the file. and truncates the file to zero length. If files does not exist then it attempts to create a file.
  • w+ - Opens the file for reading and writing only. Places the file pointer at the beginning of the file. and truncates the file to zero length. If files does not exist then it attempts to create a file.
  • a - Opens the file for writing only. Places the file pointer at the end of the file. If files does not exist then it attempts to create a file.
  • a+ - Opens the file for reading and writing only. Places the file pointer at the end of the file. If files does not exist then it attempts to create a file.

If an attempt to open a file fails then fopen returns a value of false otherwise it returns a file pointer which is used for further reading or writing to that file.


After making a changes to the opened file it is important to close it with the fclose() function. The fclose() function requires a file pointer as its argument and then returns true when the closure succeeds or false if it fails.


Reading a file


Once a file is opened using fopen() function it can be read with a function called fread(). This function requires two arguments. These must be the file pointer and the length of the file expressed in bytes.


The files length can be found using the filesize() function which takes the file name as its argument and returns the size of the file expressed in bytes.


  • Open a file using fopen() function.
  • Get the file's length using filesize() function.
  • Read the file's content using fread() function.
  • Close the file with fclose() function.

	      	<html>
			   <head>
			      <title>Reading a file using PHP</title>
			   </head>
			   <body>
			      <?php
			         $filename = "tmp.txt";
			         $file = fopen( $filename, "r" );
			         
			         if( $file == false ) {
			            echo ( "Error in opening file" );
			            exit();
			         }
			         
			         $filesize = filesize( $filename );
			         $filetext = fread( $file, $filesize );
			         fclose( $file );
			         
			         echo ( "File size : $filesize bytes" );
			         echo ( "<pre>$filetext</pre>" );
			      ?> 
			   </body>
			</html>
	      

Writing a file


A new file can be written or text can be appended to an existing file using the PHP fwrite() function. This function requires two arguments specifying a file pointer and the string of data that is to be written. Optionally a third integer argument can be included to specify the length of the data to write. If the third argument is included, writing would will stop after the specified length has been reached.


The following example creates a new text file then writes a short text heading inside it. After closing this file its existence is confirmed using file_exist() function which takes file name as an argument


	      	<?php
			   $filename = "htdocs/newfile.txt";
			   $file = fopen( $filename, "w" );
			   
			   if( $file == false ) {
			      echo ( "Error in opening new file" );
			      exit();
			   }
			   fwrite( $file, "This is  a simple test\n" );
			   fclose( $file );
			?>
			<html> 
			   <head>
			      <title>Writing a file using PHP/title>
			   </head>   
			   <body>		      
			      <?php
			         $filename = "newfile.txt";
			         $file = fopen( $filename, "r" );
			         
			         if( $file == false ) {
			            echo ( "Error in opening file" );
			            exit();
			         }
			         
			         $filesize = filesize( $filename );
			         $filetext = fread( $file, $filesize );
			         
			         fclose( $file );
			         
			         echo ( "File size : $filesize bytes" );
			         echo ( "$filetext" );
			         echo("file name: $filename");
			      ?>		      
			   </body>
			</html>
	      




PHP Tutorials


Home

Introduction

Syntax

Variable

Comment

Echo and Print Statement

Data Types

Boolean

Integer

Number Convert

PHP String

php variable substitution in string

php string element

php string function

php addcslashes function

php addslashes function

php get magic quotes gpc function

php get meta tags function

php urlencode function

PHP $ and $$ Variables

PHP constant

PHP Magic Constants

PHP Static Variable

PHP Super Globals

PHP Globals

PHP Server

PHP reserved variable get

PHP reserved variable post

PHP reserved variable FILES

PHP reserved variable Cookies

PHP reserved variable Session

PHP reserved variable Request

PHP reserved variable environment

PHP Operator

PHP Arithmetic Operator

PHP Comparison Operator

PHP Incrementing and Decrementing Operators

PHP Identical Operators

PHP Logical Operators

PHP String Operators

PHP Ternary Operators

PHP Execution Operators

PHP Operator Precedence

PHP Array Operator

PHP Class

PHP Class Inheritance

PHP constructor and destructor

PHP abstract class

PHP class access control

PHP statement

PHP If statement

PHP else statement

PHP else if statement

PHP control structure statement

PHP while loop

PHP do while loop

PHP for loop

PHP for each loop

PHP break statement

PHP continue statement

PHP declare statement

PHP return statement

PHP require statement

PHP include

PHP require once

PHP include once

PHP goto statement

PHP function

PHP function parameter

PHP function scope

PHP array

PHP array operator

PHP array element loop

PHP array foreach loop

PHP array multidimensional

PHP html forms

PHP get and post method

form redirect

file inclusion

file i/o