PHP file Directory operation implementation Program (_php) tutorial

Source: Internet
Author: User
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 ...

  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.