Home > Backend Development > PHP Tutorial > Eight common file manipulation methods in PHP applications_PHP Tutorial

Eight common file manipulation methods in PHP applications_PHP Tutorial

WBOY
Release: 2016-07-13 17:43:10
Original
921 people have browsed it

PHP’s unique syntax mixes C, Java, Perl and PHP’s own innovative syntax. PHP installs it and can execute dynamic web pages faster than CGI or Perl. Compared with other programming languages, dynamic pages made with PHP embed programs into HTML documents for execution, and the execution efficiency is much higher than CGI that completely generates HTML tags; PHP can also execute compiled code, and the compilation can Achieve encryption and optimize code running, making the code run faster. PHP has very powerful functions. PHP can realize all CGI functions and supports almost all popular databases and operating systems.

File and directory operations

It is very convenient for PHP to handle files and directories on the local server, but sometimes permissions and path-related problems may occur

1. Open the file

Resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )

 $handle = fopen(filename,mode)//Open the file and return the handle representing the resource of this file

File names can use relative paths or absolute paths or use network protocol mode. The opening mode has r+ww+aa+xx+. If you do not specify the b mark when operating binary files, you may encounter some strange problems. Includes corrupted image files and information about Weird issues with characters.

For portability reasons, it is strongly recommended to always use the b flag when opening files with fopen().

The following are several ways to open files

$fp = @fopen(log.txt,"rb");

 $fp = @fopen(../log.txt,"rb");

 $fp = @fopen("http://www.runer.com.cn/default.htm","rb");//You can also use protocols such as ftp and ghoper, which must be enabled in the php.ini file allow_url_fopen option

 //////////////////////////////Code part////////////////// ////////////////////////

 $filename1 = "userinfo.txt";//This file exists in the directory or include_path

 $filename2 = "test.txt";//This file does not exist in the directory or include_path

$resource1 = fopen($filename1,"rb");

 @$resource2 = fopen($filename2,"rb");//Because this file does not exist in the directory, and the include_path or include_path is not used to find the path of the included file, this operation will report an error. You can use the error suppressor @ Force the browser not to output error messages

 if($resource1)

echo "Opening file {$filename1} successfully";

 if(!@fopen($filename2,"r"))

echo "Failed to open file {$filename2}";

 ////////////////////////////////////////////////// ////////////////////////////

 ---------------------Output results--------------------- ----------------

The file userinfo.txt was opened successfully

 ------------------------------------------------ -----------------------

2. After using the file, you must explicitly tell PHP that the file has been used, so that the operating system ensures that all the contents of the file are correctly flushed from the buffer to the hard disk

Use fclose() to close the file,

bool fclose (resource handle)//Close an open file pointer

3. Read the file. The mode parameter of the fopen function allows reading. PHP provides several functions to read data from the file

String fgets ( int handle [, int length] ) reads a line from a file pointer. Trying fgets on a binary file produces unpredictable results

If the length is not specified, 1K data will be read by default, and it will stop after encountering a newline character (included in the return value), EOF or length - 1 bytes have been read

 string fgetss (resource handle [, int length [, string allowable_tags]] ) reads a line from the file pointer and filters out HTML tags

 fgetc() reads a single character

 fread() reads any binary data

 //////////////////////////////Code part////////////////// ////////////////////////

$handle = fopen ("test.jpg", "rb");

 $c;

while (!feof($handle)) {

 $contents .= @fread($handle, 8192);//Loop reading and merge it into a large file

 }

fclose($handle);

 ////////////////////////////////////////////////// ////////////////////////////

 ---------------------Output results--------------------- ----------------

 ------------------------------------------------ -----------------------

4. Determine the status of file reading

Each file handle has a file pointer, or a cursor that indicates where the next operation will occur in the file, according to the mode parameter of the fopen function

The file pointer is initially located at the beginning of the file (0), or at the end of the file

Feof() can determine whether the file has reached the end (the function returns TRUE after reaching the end)

The filesize() function returns the size of the file 5. Write the file

 The fwrite() function executes file writing

 //////////////////////////////Code part////////////////// ////////////////////////

 $filename = test.txt;

 $somec;

  // First we need to make sure the file exists and is writable.

 if (is_writable($filename)) {

// In this example, we will use add mode to open $filename,

// Therefore, the file pointer will be at the beginning of the file,

// That is where $somecontent will be written when we use fwrite().

 if (!$handle = fopen($filename, a)) {

echo "Cannot open file $filename";

exit;

 }

// Write $somecontent to the file we opened.

 if (fwrite($handle, $somecontent) === FALSE) {

echo "Cannot write to file $filename";

exit;

 }

echo "Successfully written $somecontent to file $filename";

fclose($handle);

 } else {

 }

echo "File $filename is not writable";

 ////////////////////////////////////////////////// ////////////////////////////

 ---------------------Output results--------------------- ----------------

Successfully added these text to the file and wrote it to the file test.txt

 ------------------------------------------------ -----------------------

For binary data, the third parameter must be specified, which contains the number of data bytes written to disk

$result = @fwrite($fp,$binary_data,mb_strlen($binary_data,8bit));

 6. File permissions and other information

is_readable() // Determine whether the file is readable

is_writeable() // Determine whether the file is writable

is_writable() // Determine whether the file is writable

Fileperms()//Judge file permissions (UNIX-style file permission test function)

File_exists()//Whether this file exists

Fileowner()//Determine the user to whom the file belongs

Filegroup()//Determine the group to which the file belongs

7. Delete and rename files

unlink()//Delete file

rename()//Rename file

8. Visit directory

It is recommended to use the forward slash "/" for directory access, which is compatible with windows and unix systems

basename()//returns the file name excluding path information

dirname()//returns the directory part of the file name

realpath()//Accept relative path and return the absolute path of the file

pathinfo()//Extract the directory name, basic file name and extension of the given path

opendir()//Open the directory and return the resource handle

readdir()//Read directory entry

rewinddir()//Return the reading pointer to the beginning

 closedir()//Close the read handle

Chdir()//Change the current working directory during the execution of the current script

mkdir()//Create directory

rmdir() delete directory

 //////////////////////////////Code part////////////////// ////////////////////////

 ////////////////////////////////////////////////// ////////////////////////////

 ---------------------Output results--------------------- ----------------

filename: web : filetype: dir

filename: study : filetype: di

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/485996.htmlTechArticlePHP’s unique syntax mixes C, Java, Perl and PHP’s innovative syntax. PHP installs it and can execute dynamic web pages faster than CGI or Perl. Dynamic pages made with PHP and...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template