Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
44 views

Programming With PHP and MySQL-2

The document discusses various file handling functions in PHP including fopen(), feof(), fgets(), fclose(), file_get_contents(), file_exists(), fscanf(), parse_ini_file(), stat(), and fseek(). It provides details on what each function is used for, syntax, parameters, and examples of using each function to open, read, write, get info from, and close files in PHP.

Uploaded by

Broken Soul
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Programming With PHP and MySQL-2

The document discusses various file handling functions in PHP including fopen(), feof(), fgets(), fclose(), file_get_contents(), file_exists(), fscanf(), parse_ini_file(), stat(), and fseek(). It provides details on what each function is used for, syntax, parameters, and examples of using each function to open, read, write, get info from, and close files in PHP.

Uploaded by

Broken Soul
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

UNIT-3

FILE HANDLING
3.1 Opening files using fopen
 fopen() function is Used to open the specified file.
fopen(filename, mode)
 Filename- Required. Specifies the file or URL to open
 Mode - Required. Specifies the type of access you require to the file/stream.
 There are different types of mode are listed below:
3.2 Looping over a files content with
Feof()
 The feof() function is used for looping through the content of a file if the
size of content is not known beforehand.
 The feof() function returns True if end-of-file has been reached or if an
error has occurred. Else it returns False.
 Syntax:
feof( $file )
Parameters: The feof() function in PHP accepts only one parameter which is $file.
This parameter specifies the file which has to be checked for end-of-file.
Return Value: It returns TRUE if end-of-file has been reached or if an error has
occurred. Else it returns False.

3.3 Reading text from a file using fgets


fgets() function
 The fgets() function in PHP is an inbuilt function which is used to return a
line from an open file.
 It is used to return a line from a file pointer and it stops returning at a
specified length, on end of file(EOF) or on a new line, whichever comes
first.
 The file to be read and the number of bytes to be read are sent as
parameters to the fgets() function and it returns a string of length -1 bytes
from the file pointed by the user.
 It returns False on failure.
 Syntax:
fgets(file, length)
Parameters Used: The fgets() function in PHP accepts two parameters.
file : It specifies the file from which characters have to be extracted.
length : It specifies the number of bytes to be read by the fgets() function. The
default value is 1024 bytes.
Return Value : It returns a string of length -1 bytes from the file pointed by the
user or False on failure.
3.4 Closing A File
 The fclose() function closes an open file.
 Syntax
fclose(file)
Parameter Values :
File - Required. Specifies the file to close
Example : Open and close file "test.txt":
<?php
$file = fopen("test.txt", "r");
fclose($file);
?>
EXAMPLE:
<?php
// a file is opened using fopen() function
$check = fopen("singleline.txt", "r");
$seq = fgets($check);
// Outputs a line of the file until
// the end-of-file is reached
while(! feof($check))
{
echo $seq ;
$seq = fgets($check);
}
// file is closed using fclose() function
fclose($check);
?>
OUTPUT:
This file consists of only a single line.
Example
The singleline.txt contain ” hai how are you?”
<html>
<body>
<?php
$check = fopen("singleline.txt","r");
while(!feof($check))
{
echo fgets($check);
}
fclose($check);
?>
<html>
<body>
3.5 READING CHARACTER WITH fgetc () IN PHP
 The fgetc() function in PHP is an inbuilt function which is used to return a
single character from an open file. It is used to get a character from a given
file pointer.
 The file to be checked is used as a parameter to the fgetc() function and it
returns a string containing a single character from the file which is used as a
parameter.
Syntax:
fgetc($file)
Parameters: The fgetc() function in PHP accepts only one parameter $file. It
specifies the file from which character is needed to be extracted.
Return Value: It returns a string containing a single character from the file which
is used as a parameter.
Example
 The file named gfg.txt contains the following text.
This is the first line.
This is the second line.
This is the third line.
Program:
<?php
$my_file = fopen("gfg.txt", "rw");
echo fgetc($my_file);
fclose($my_file);
?>
Output:
T
Program:
<?php
$my_file = fopen("gfg.txt", "rw");
while (! feof ($my_file))
{
echo fgetc($my_file);
}
fclose($my_file);
?>
Output:
This is the first line.
This is the second line.
This is the third line.
3.6 file_get_contents() Function
 The file_get_contents() function in PHP is an inbuilt function which is used
to read a file into a string.
 The function uses memory mapping techniques which are supported by the
server and thus enhances the performances making it a preferred way of reading
contents of a file.
The path of the file to be read is sent as a parameter to the function and it returns
the data read on success and FALSE on failure.
Syntax:
file_get_contents($path, $include_path, $context, $start, $max_length)
 $path: It specifies the path of the file or directory you want to check.
 $include_path: It is an optional parameter which searches for a file in the
file in the include_path (in php.ini) also if it is set to 1.
 $context: It is an optional parameter which is used to specify a custom
context.
 $start: It is an optional parameter which is used to specify the starting
point in the file for reading.
 $max_length: It is an optional parameter which is used to specify the
number of bytes to be read.
 Return Value: It returns the read data on success and FALSE on failure.
Example
 The test.txt contain the data:
abcdefghijklmnopqrstuvwxyz0123456789
<?php
echo file_get_contents("test.txt");
?>
Output:
abcdefghijklmnopqrstuvwxyz0123456789
<html>
<body>
<?php
// Read 14 characters starting from the 21st
character
echo file_get_contents("test.txt", FALSE,
NULL, 20, 14);
?>
</body>
</html>
Output:
uvwxyz01234567
3.7 file_exists( ) Function
 The file_exists() function in PHP is an inbuilt function which is used to
check whether a file or directory exists or not.
 The path of the file or directory you want to check is passed as a parameter
to the file_exists() function which returns True on success and False on
failure.
 Syntax:
file_exists($path)
Parameters: The file_exists() function in PHP accepts only one parameter $path.
It specifies the path of the file or directory you want to check.
Return Value: It returns True on success and False on failure.
Example:
<?php
// checking whether file exists or not
echo file_exists("test.txt");
?>
Output : 1
<?php
$myfile ="test.txt";
if (file_exists($myfile)) {
echo "$myfile exists!";
} else {
echo "$myfile does not exist!";
}
?>
Output: test.txt exists

3.8 fscanf() function


 The fscanf() function parses input from an open file according to a specified
format. It returns the values parsed as an array, if only two parameters
were passed.
Syntax
fscanf(file_pointer, format, mixed)
Parameters
file_pointer - A file system pointer resource created using fopen().
format - Specify the format. Here are the values:
Example
 The new.txt contain the text :
ram 5
siva 3
<?php
$handle = fopen("new.txt", "r");
while ($playerrank = fscanf($handle, " %s\t%d\n "))
{
list ($name, $rank) = $playerrank;
echo "$name got rank $rank.<br>";
}
fclose($handle);
?>
Output:
ram got rank 5.
siva got rank 3.
3.9 parse_ini_file() Function
 The parse_ini_file() function parses a configuration (ini) file and returns the
settings.
 This function can be used to read in your own configuration files, and has
nothing to do with the php.ini file.
 The following reserved words must not be used as keys for ini files: null,
yes, no,true, false, on, off, none. Furthermore, the following reserved
characters must not be used in the key: {}|&~!()^".
 Syntax
parse_ini_file(file, process_sections, scanner_mode)
Return- The parse_ini_file() function returns the settings as an associative array
success. It returns FALSE on failure.
 Let’s say the content of our “demo.ini” is -
[names]
one = Anne
two = Katie
three = Tom
[urls]
host1 = “https://www.example.com”
host2 = "https://www.example2.com"
„H Let’s say the content of our “parse ini.php” is
<?php
print_r(parse_ini_file("demo.ini"));
?>
Output:
Array ( [one] => Anne
[two] => Katie
[three] => Tom
[host1] => https://www.example.com
[host2] => https://www.example2.com )
3.10 Getting file information with stat()
 The stat() function returns information about a file.
 The results from this function will differ from server to server.
 The array may contain the number index, the name index, or both.
 The result of this function is cached.
 Use clearstatcache() to clear the cache.
 Syntax
stat(filename)

 The function returns an array with the below given elements.


 [0] or [dev] - Device number
 [1] or [ino] - Inode number
 [2] or [mode] - Inode protection mode
 [3] or [nlink] - Number of links
 [4] or [uid] - User ID of owner
 [5] or [gid] - Group ID of owner
 [6] or [rdev] - Inode device type
 [7] or [size] - Size in bytes
 [8] or [atime] - Last access time as Unix timestamp
 [9] or [mtime] - Last modified time as Unix timestamp
 [10] or [ctime] - Last inode change time as Unix timestamp
 [11] or [blksize] - Blocksize of filesystem IO
 [12] or [blocks] - Number of blocks allocated
Example:
<?php
print_r(stat("demo.txt"));
?>
OUTPUT:

Example:
<?php
$test = stat('new.txt');
echo 'Access time: ' .$test['atime'];
echo '<br />Modification time: ' .$test['mtime'];
echo '<br />Device number: ' .$test['dev'];
?>
Output:
Access time: 1602748187
Modification time: 1603208669
Device number: 2
3.11 fseek( ) Function
 The fseek() function in PHP is an inbuilt function which is used to seek in an
open file.
 It moves the file pointer from its current position to a new position, forward
or backward specified by the number of bytes.
 It returns 0 on success, else returns -1 on failure.
 Syntax:
fseek ( $file, $offset, $whence)
Parameters: The fseek() function in PHP accepts three parameters as
described below.
$file: It is a mandatory parameter which specifies the file.
$offset: It is a mandatory parameter which specifies the new position of the
pointer. It is measured in bytes from the beginning of the file.
$whence: It is an optional parameter which can have the following possible
values-
SEEK_SET: It sets position equal to offset.
SEEK_CUR: It sets position to current location plus offset.
SEEK_END: It sets position to EOF plus offset. To move to a position before
EOF, the offset must be a negative value.
Example:
<?php
// Opening a file
$myfile = fopen("gfg.txt", "w");
// reading first line
fgets($myfile);
// moving back to the beginning of the file
echo fseek($myfile, 0);
// closing the file
fclose($myfile);
?>
Output: 0
3.12 Copying Files With Copy
 The copy() function in PHP is an inbuilt function which is used to make a
copy of a specified file.
 It makes a copy of the source file to the destination file and if the
destination file already exists, it gets overwritten.
 The copy() function returns true on success and false on failure.
Syntax:
copy(from_file, to_file, context)
Example:
<?php
echo
copy("test.txt","new.txt");
?>
Output:
1
<?php
// Copying gfg.txt to geeksforgeeks.txt
$srcfile = "test.txt";
$destfile = “copy.txt";
if (!copy($srcfile, $destfile))
{
echo "File cannot be copied! \n";
}
else
{
echo "File has been copied!";
}
?>
Output: File has been copied!
3.13 Deleting files
 To delete a file by using PHP is very easy.
 Deleting a file means completely erase a file from a directory so that
the file is no longer exist.
PHP has an unlink () function is used to delete a file.
Syntax
unlink( $filename, $context );
Example
<?php
$myFile = "test5.txt";
unlink($myFile) or die("Couldn't delete file");
?>
<?php
$file_pointer = fopen(“gfg.txt”, “w”);
fwrite($file_pointer, 'A computer science portal
for geeks!');
fclose($file_pointer);
if (!unlink($file_pointer))
{
echo ("$file_pointer cannot be deleted due to an
error");
}
else {
echo ("$file_pointer has been deleted");
} ?>
Output:
gfg.txt has been deleted
3.14 Reading and Writing Binary Files
 With the basics of reading and writing text files complete, let's now turn our
attention to working with binary files.
 Unlike text files, binary files can be much harder both to work with and
debug because they are by their very nature unreadable by anything but a
computer.
 In PHP, writing binary files is done in the same manner as writing text files
(via the fputs() function) and therefore requires no explanation.
 In fact, the only difference (which has already been mentioned) is the use of
the b mode when the file is opened via fopen().
 Hence, this section will focus primarily on those functions relating to
reading binary data from a file and converting it into a form usable by PHP.
 Specifically, we will be constructing a function that will read the header
from a Zip-compressed file and determine the minimum version number
required to decompress the data.
 To accomplish this, we'll be examining the fseek(), fread(), and unpack()
functions.
 Already fseek(), fread(), is given write that notes here.
Unpack() function:
 The unpack() function is an inbuilt function in PHP which is used to unpack
from a binary string into the respective format.
 Syntax:
unpack( $format, $data, $offset )
Example
<?php
var_dump ( unpack("C*", "GEEKSFORGEEKS"));
?>
Output:
array(13) { [1]=> int(71) [2]=> int(69) [3]=> int(69)
[4]=> int(75) [5]=> int(83) [6]=> int(70) [7]=>
int(79) [8]=> int(82) [9]=> int(71) [10]=> int(69)
[11]=> int(69) [12]=> int(75) [13]=> int(83) }
3.15 Locking files
 The flock() function locks and releases a file.
Syntax
flock(file, lock, block)

Example
<?php
$file = fopen("test3.txt","w+");
if (f lock($file,LOCK_EX)) {
fwrite($file,"Add some text to the file.");
ff lush($file);
// release lock
echo “successfully done";
}
else
{
echo "Error locking file!";
}
fclose($file);
?>

You might also like