In PHP, there are specific functions for file or directory operations, such as Fopen,rdir,filesize,opendir,readdir,fcolse,fread, which are file and directory manipulation functions.
Second, directory operation
The first introduction is a function read from the directory, Opendir (), Readdir (), Closedir (), using the file handle is opened first, and then the iteration is listed:
| The code is as follows |
Copy Code |
|
$base _dir = "filelist/";
$fso = Opendir ($base _dir);
echo $base _dir. " " ;
while ($flist =readdir ($FSO)) {
echo $flist. "
" ;
}
Closedir ($FSO)
?>
|
This is the return file directory under which the file is already in the directory program (0 file will return false).
Sometimes you need to know the directory information, you can use DirName ($path) and basename ($path), respectively, return the directory portion of the path and the file name part, the Disk_free_space ($path) to return to see space free space.
To create a command:
| The code is as follows |
Copy Code |
|
mkdir ($path, 0777) |
, 0777 is the permission code, and the Umask () function can be set under non-window.
| The code is as follows |
Copy Code |
|
RmDir ($path) |
The path to the $path file will be deleted.
DIR--The Directory class is also an important class to manipulate the file directory, there are 3 methods, Read,rewind,close, this is a copy object-oriented class, it first uses the open file handle, and then read by the way of the pointer. Here's a look at the PHP manual:
| The code is as follows |
Copy Code |
|
$d = Dir ("/etc/php5");
echo "Handle:". $d->handle. "N";
echo "Path:". $d->path. "N";
while (false!== ($entry = $d->read ())) {
echo $entry. " n ";
}
$d->close ();
?> |
Output:
Handle:resource ID #2
Path:/ETC/PHP5
.
..
Apache
Cgi
Cli
The properties of the file are also very important, including the creation time, the last modified time, the owner, the file group, the type, the size, and so on.
Here we focus on file operations.
Third, file operation
Read the file
The first is a file to see if it can read (permission problems), or there is no, we can use the Is_readable function to obtain information.:
| The code is as follows |
Copy Code |
|
$file = ' dirlist.php ';
if (is_readable ($file) = = False) {
Die (' file does not exist or cannot be read ');
} else {
echo ' presence ';
}
?> |
The function of judging the existence of a file is also file_exists (shown below), but this is obviously not is_readable comprehensive. When a file exists, it can be used
| The code is as follows |
Copy Code |
|
$file = "filelist.php";
if (file_exists ($file) = = False) {
Die (' file does not exist ');
}
$data = file_get_contents ($file);
echo htmlentities ($data);
?> |
However, the file_get_contents function is not supported on earlier versions, you can create a handle to the file first, and then read all with the pointer:
| The code is as follows |
Copy Code |
|
$fso = fopen ($cacheFile, ' R ');
$data = Fread ($fso, FileSize ($cacheFile));
Fclose ($FSO); |
There is also a way to read a binary file:
| The code is as follows |
Copy Code |
|
$data = Implode (', File ($file)); |
Write a file
and read the file the same way, first see if it can write:
| The code is as follows |
Copy Code |
|
$file = ' dirlist.php ';
if (is_writable ($file) = = False) {
Die ("I'm chicken feathers, I can't");
}
?> |
If you can write it, you can use the File_put_contents function to write:
| The code is as follows |
Copy Code |
|
$file = ' dirlist.php ';
if (is_writable ($file) = = False) {
Die (' I'm chicken feathers, I can't ');
}
$data = ' I am contemptible, I want to ';
File_put_contents ($file, $data);
?> |
file_put_contents function in the php5 of the newly introduced function (do not know the existence of the function_exists function first to judge) the lower version of PHP is not available, you can use the following way:
| The code is as follows |
Copy Code |
|
$f = fopen ($file, ' w ');
Fwrite ($f, $data);
Fclose ($f); |
Replace it.
When writing a file, you sometimes need to lock and then write:
| The code is as follows |
Copy Code |
|
function Cache_page ($pageurl, $pagedata) {
if (! $fso =fopen ($pageurl, ' W ')) {
$this->warns (' cannot open cache file. '); /trigger_error
return false;
}
if (!flock ($fso, lock_ex)) {//LOCK_NB, exclusive type lock
$this->warns (' cannot lock cache file. '); /trigger_error
return false;
}
if (!fwrite ($fso, $pagedata)) {//write byte stream, serialize write to other format
$this->warns (' cannot write to cache file. '); /trigger_error
return false;
}
Flock ($fso, lock_un);//Release lock
Fclose ($FSO);
return true;
} |
1 2
http://www.bkjia.com/PHPjc/629155.html www.bkjia.com true http://www.bkjia.com/PHPjc/629155.html techarticle in PHP, there are specific functions for file or directory operations, such as Fopen,rdir,filesize,opendir,readdir,fcolse,fread, which are file and directory manipulation functions. Second, the directory operation first introduced is ...