There are specific functions for file or directory operations in php, such as fopen, rdir, filesize, opendir, readdir, fcolse, fread, etc. are all file and directory operation functions.
2. Directory operations
The first introduction is a function that reads from a directory, opendir(), readdir(), closedir(). When used, the file handle is opened first, and then iteratively listed:
The code is as follows | Copy code | ||||||||
echo $base_dir." " ; while($flist=readdir($fso)){
echo $flist."
?> |
代码如下 | 复制代码 |
rmdir($path) |
Sometimes you need to know directory information. You can use dirname($path) and basename($path) to return the directory part and file name part of the path respectively. You can use disk_free_space($path) to return the free space.
Create command:
代码如下 | 复制代码 |
$d = dir("/etc/php5"); |
The code is as follows | Copy code |
mkdir($path,0777) |
, 0777 is the permission code, which can be set by the umask() function under non-window conditions.
The code is as follows | Copy code |
rmdir($path) |
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())) {
|
Handle: Resource id #2
代码如下 | 复制代码 |
$file = 'dirlist.php'; |
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 'exists'; <🎜> } <🎜> ?> |
The function to determine the existence of a file also includes file_exists (demonstrated below), but this is obviously not as comprehensive as is_readable. When a file exists, you can use
The code is as follows | Copy code | ||||
if (file_exists($file) == false) { die('File does not exist'); } $data = file_get_contents($file); echo htmlentities($data); ?>
|
代码如下 | 复制代码 |
$fso = fopen($cacheFile, 'r'); |
The code is as follows | Copy code |
$fso = fopen($cacheFile, 'r'); |
代码如下 | 复制代码 |
$data = implode('', file($file)); |
The code is as follows | Copy code |
$data = implode('', file($file));
|
代码如下 | 复制代码 |
$file = 'dirlist.php'; |
Same as reading a file, first check if it can be written:
The code is as follows | Copy code | ||||||||
if (is_writable($file) == false) { die("I am a chicken feather, I can't"); } ?>
|
The code is as follows | Copy code |
$file = 'dirlist.php'; if (is_writable($file) == false) { die('I am a chicken feather, I can't'); } $data = 'I am despicable, I want'; file_put_contents ($file, $data); ?> |
The code is as follows | Copy code |
$f = fopen($file, 'w'); fwrite($f, $data); fclose($f); |
Replace it.
When writing a file, sometimes you need to lock it, and then write:
The code is as follows | Copy code | ||||
if(!$fso=fopen($pageurl,'w')){ $this->warns('Unable to open cache file.');//trigger_error return false; } if(!flock($fso,LOCK_EX)){//LOCK_NB, exclusive lock $this->warns('Unable to lock cache file.');//trigger_error return false; } if(!fwrite($fso,$pagedata)){//Write byte stream, serialize writes other formats $this->warns('Unable to write to cache file.');//trigger_error return false; } flock($fso,LOCK_UN);//Release the lock fclose($fso); return true; }
|