PHP file read, write, delete operations (PHP file and directory operations) _php tutorial

Source: Internet
Author: User
Tags echo date filegroup flock fread rewind
One: Directory operations
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:
Copy CodeThe code is as follows:
   $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:
mkdir ($path, 0777)
, 0777 is the permission code, and the Umask () function can be set under non-window.
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:
Copy CodeThe code is as follows:
   $d = Dir ("/etc/php5");
echo "Handle:". $d->handle. "\ n";
echo "Path:". $d->path. "\ n";
while (false!== ($entry = $d->read ())) {
echo $entry. " \ n ";
}
$d->close ();
?>
[Code]
Output:
Handle:resource ID #2
Path:/ETC/PHP5
.
..
Apache
Cgi
Cli
The properties of the file are also very important, including the creation time, last modified time, owner, filegroup, type, size, etc.
Here we focus on file operations.
   Two: File operations
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.:
[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
Copy CodeThe code is as follows:
   $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:
Copy CodeThe code is as follows:
$fso = fopen ($cacheFile, ' R ');
$data = Fread ($fso, FileSize ($cacheFile));
Fclose ($FSO);

There is also a way to read a binary file:
$data = Implode (', File ($file));
Learn more about how to manipulate files and directories in PHP
One: Introduction
In any computer device, files are all necessary objects, and in Web programming, the operation of the file has always been a headache for web programmers, and, the operation of the file in the CMS system is a must, very useful, we often encounter generating files directory, file (clip) editing operations, Now I have a detailed summary of these functions in PHP and examples of how to use them. For a detailed description of the corresponding function, please refer to the PHP manual. Here are just a few things to focus on. And where to pay attention. (This is not in the PHP manual.)
II: Directory Operations
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:
Copy CodeThe code is as follows:
$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:
mkdir ($path, 0777), 0777 is the permission code, and the Umask () function is set under non-window.
RmDir ($path) will delete the path in the $path file.
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:
Copy CodeThe code is as follows:
$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, last modified time, owner, filegroup, type, size, etc.
Here we focus on file operations.
Three: File Operations
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.:
Copy CodeThe code is as follows:
$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
Copy CodeThe code is as follows:
$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:
$fso = fopen ($cacheFile, ' R ');
$data = Fread ($fso, FileSize ($cacheFile));
Fclose ($FSO);
There is also a way to read a binary file:
$data = Implode (', File ($file));
Write a file
and read the file the same way, first see if it can write:
Copy CodeThe code is as follows:
$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:
Copy CodeThe code is as follows:
$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:
$f = fopen ($file, ' w ');
Fwrite ($f, $data);
Fclose ($f);
Replace it.
When writing a file, you sometimes need to lock and then write:
Copy CodeThe code is as follows:
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;
}

Copy, delete files
PHP Delete Files is very easy, with the unlink function simple operation:
Copy CodeThe code is as follows:
$file = ' dirlist.php ';
$result = @unlink ($file);
if ($result = = False) {
Echo ' Mosquitoes have driven away ';
} else {
Echo ' cannot be driven away ';
}
?>

Can.
Copying files is also easy:
Copy CodeThe code is as follows:
$file = ' yang.txt ';
$newfile = ' ji.txt '; # The parent folder of this file must be able to write
if (file_exists ($file) = = False) {
Die (' sample not online, cannot copy ');
}
$result = Copy ($file, $newfile);
if ($result = = False) {
echo ' Copy memory OK ';
}
?>

You can use the rename () function to rename a folder. The other operations are done by combining these functions.
Get file properties
I say a few common functions:
Gets the last modified time:
Copy CodeThe code is as follows:
$file = ' test.txt ';
echo Date (' R ', Filemtime ($file));
?>

Returns a timestamp that says Unix, which is commonly used in caching techniques.
Related to the last accessed time Fileatime (), Filectime () when the permissions of the file, the owner, the metadata in all groups or other inode are updated, the Fileowner () function returns the file owner $owner = posix_ Getpwuid (Fileowner ($file));(Non-Window System), Ileperms () Gets the file permissions,
Copy CodeThe code is as follows:
$file = ' dirlist.php ';
$perms = substr (sprintf ('%o ', Fileperms ($file)),-4);
Echo $perms;
?>

FileSize () returns the number of bytes in the file size:
Copy CodeThe code is as follows:
Output similar to: somefile.txt:1024 bytes
$filename = ' somefile.txt ';
Echo $filename. ': ' . FileSize ($filename). ' bytes ';
?>

To get all the information for a file, there is a function stat () function that returns an array:
Copy CodeThe code is as follows:
$file = ' dirlist.php ';
$perms = stat ($file);
Var_dump ($perms);
?>

The key corresponds to what can be consulted in detail, which is not expanded here.
Four: Concluding remarks
Above I briefly summed up a few file operations, if you are familiar with the above listed functions, there is no big problem in operation, PHP file operation function Changes relatively fast, is now very powerful, the file is also a very important part of learning PHP, I hope not to ignore.

http://www.bkjia.com/PHPjc/325071.html www.bkjia.com true http://www.bkjia.com/PHPjc/325071.html techarticle A: The directory operation first describes a function read from the directory, Opendir (), Readdir (), Closedir (), when used is to open the file handle, and then iteration list: Copy code code as follows ...

  • 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.