Home  >  Article  >  php教程  >  Common functions for reading local files in php (fopen and file_get_contents)_php basics

Common functions for reading local files in php (fopen and file_get_contents)_php basics

WBOY
WBOYOriginal
2016-05-16 09:00:183011browse

Below we use .txt files as an example to introduce PHP's function of reading local files. To read files, we can use fopen or file_get_contents to read. File_get_contents is simpler, but fopen requires the cooperation of fread to display the read content.

1. First, let’s introduce the fopen() function

Below we give a code demo that directly opens a local file. We have added the necessary places. Annotated:

Copy code The code is as follows:

//Instance code to directly open a local file //Suppose our local file is a text named xmlas.txt
$filedemo = "xmlas.txt";
$fpdemo = fopen($filedemo,"r" );
if ($fpdemo){
while(!feof($fpdemo)){
//Number of characters read by 1000
$datademo = fread($fpdemo, 1000);                                                                   fclose($fpdemo);

2. Use the file_get_contents() function to output the entire file in a string:

Suppose there is such a sentence in our xmlas.txt text file: Current Movies There is less and less passion. If you want to have all the orgasms, please watch Japanese Love

Action movie!
Then the example code of our file_get_contents() function is as follows:

Copy code The code is as follows:

echo file_get_contents("xmlas .txt");
//The output content at this time is the content in xmlas.txt:
//Today’s movies are becoming less and less passionate. If you want to have all the climax, please watch Japanese love action movies!
?>

3. How to read a local folder instead of a separate file:
Please see the example code below. In the example we will read a folder named xmlas :

Copy code The code is as follows:

$dirdemo = opendir('/xmlas');
while(($filedemo = readdir($dirdemo))!= false){
if ($filedemo!="." && $filedemo!="..") {
$nsdemo = explode('.', $filedemo);
echo $nsdemo[0 ];
} }
}
closedir($dirdemo);
?>

4. We can also use fopen to write files

Copy code The code is as follows:

/**
*Write with fopen File
*@param string $filename
*@param string $contents
*@return boolean
*/

function wirte($filename,&$contents)
{
$fp=fopen($filename,"wb");
if($fp)
{
flock($fp,LOCK_EX);//Only one file can be locked at the same time Human operation
fwrite($fp,$contents);
flock($fp,LOCK_UN);//Save the data to unlock the file and save it
fclose($fp);
return true;
}else
{
return false;
}
}

In this way, I only need to use fopen and fwrite to read and write files.

Note: lOpen the file

Before opening the file, we need to know the path of the file and whether the file exists.

Use the $_SERVER["DOCUMENT_ROOT"] built-in global variable to obtain the relative path of the site. As follows:

Copy code The code is as follows:
$root = $_SERVER[“DOCUMENT_ROOT”];


Using the function file_exists() to detect whether the file exists. As follows:

Copy code The code is as follows:

If(!file_exists("$root/order. txt")){echo 'File does not exist';}

This may be more reasonable and practical.

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