PHP | fopen( ) (Function open file or URL)

The fopen() function in PHP is an inbuilt function which is used to open a file or an URL. It is used to bind a resource to a steam using a specific filename. The filename and mode to be checked are sent as parameters to the fopen() function and it returns a file pointer resource if a match is found and a False on failure. The error output can be hidden by adding an ‘@’ in front of the function name.

Syntax:

resource fopen ( $file, $mode, $include_path, $context)

Parameters Used:
The fopen() function in PHP accepts four parameters.



  • $file: It is a mandatory parameter which specifies the file.
  • $mode: It is a mandatory parameter which specifies the access type of the file or stream.
    It can have the following possible values:

    • “r”: It represents Read only. It starts at the beginning of the file.
    • “r+”: It represents Read/Write.It starts at the beginning of the file.
    • “w”: It represents Write only.It opens and clears the contents of file or create a new file if it doesn’t exist.
    • “w+”: It represents Read/Write. It opens and clears the contents of file or creates a new file if it doesn’t exist.
    • “a”: It represents Write only. It opens and writes to the end of the file or creates a new file if it doesn’t exist.
    • “a+”: It represents Read/Write. It preserves the file’s content by writing to the end of the file.
    • “x”: It represents Write only. It creates a new file and returns FALSE and an error if the file already exists.
    • “x+”: It represents Read/Write.It creates a new file and returns FALSE and an error if file already exists.
  • $include_path: It is an optional parameter which is set to 1 if you want to search for the file in the include_path (Ex. php.ini).
  • $context: It is an optional parameter which is used to set the behavior of the stream.

Return Value:
It returns a file pointer resource on success, or FALSE on error.

Exceptions:

  • When writing to a text file, the correct line-ending character should be used based on the platform.For example Unix systems use \n, Windows systems use \r\n, and Macintosh systems use \r as the line ending character.
  • It is recommended to use the ‘b’ flag when opening files with fopen().
  • An error of level E_WARNING is generated if the open fails.
  • When safe mode is enabled, PHP checks whether the directory in which the script is operating has the same UID (owner) as the script that is being executed.
  • If you are unsure whether filename is a file or a directory, you may need to use the is_dir() function before calling fopen() since fopen() function may also succeed when filename is a directory.

Below programs illustrate the fopen() function.

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// Opening a file using fopen() 
// function in read only mode
$myfile = fopen("/home/geeks/gfg.txt", "r"
                 or die("File does not exist!");
?>

chevron_right


Output:

File does not exist!

Program 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php 
// Opening a file using fopen() 
// function in read/write mode
$myfile = fopen("gfg.txt", 'r+'
     or die("File does not exist!");
       
$pointer = fgets($myfile);
echo $pointer;
fclose($myfile);
?>

chevron_right


Output:

portal for geeks!

Program 3:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php 
// Opening a file using fopen() function
// in read mode along with b flag
$myfile = fopen("gfg.txt", "rb");
$contents = fread($myfile, filesize($myfile));
fclose($myfile);
print $contents;
?>

chevron_right


Output:

portal for geeks!

Program 4:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php 
// Opening a file using fopen() function
// in read/write mode 
$myfile = fopen("gfg.txt", "w+");
  
// writing to file
fwrite($myfile, 'geeksforgeeks');
  
// Setting the file pointer to 0th 
// position using rewind() function
rewind($myfile);
  
// writing to file on 0th position
fwrite($myfile, 'geeksportal');
rewind($myfile);
  
// displaying the contents of the file
echo fread($myfile, filesize("gfg.txt"));
fclose($myfile);
?>

chevron_right


Output:

geeksportalks

Reference:
http://php.net/manual/en/function.fopen.php



My Personal Notes arrow_drop_up

I am a technology enthusiast who has a keen interest in programming I am pursuing Engineering in Computer Science from GEU, Dehradun I like to unwind by watching movies and English sitcomsI have a keen interest in music

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.