Home  >  Article  >  Backend Development  >  8 common file operations in PHP programming in website construction_PHP tutorial

8 common file operations in PHP programming in website construction_PHP tutorial

WBOY
WBOYOriginal
2016-07-22 09:02:43704browse

File and directory operations


PHP is very convenient for processing files and directories on the local server, but sometimes permissions and path-related issues may arise

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

The file name can use relative path or absolute path or network protocol mode. The opening mode has rr+ww+aa+xx+b

If you don't specify the 'b' flag when working with binary files, you may encounter some strange problems, including corrupted image files and strange issues with the rn character.

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

Here 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. The allow_url_fopen option in the php.ini file must be enabled.

//////////////////////////////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. Using the error suppressor @ can force the browser to No error message is output

if($resource1)

echo "Open file {$filename1} successfully";

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

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

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

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

Opened file userinfo.txt 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 files. The mode parameter of the fopen function allows reading. PHP provides several functions to read data from files

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 in the file the next operation will occur, according to the mode parameter of the fopen function

The file pointer is initially located at the beginning of the file (0), or 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 open $filename using add mode,

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

// That's 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 catalog

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

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

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

realpath()//Accepts relative paths and returns 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 entries

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: dir

Reprinted on www.abm163.com

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/371884.htmlTechArticle File and directory operations PHP is very convenient for processing files and directories on the local server, but sometimes permissions and path-related problems may occur 1. Open the file resource fopen (strin...
Statement:
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