PHP directory and file Operation _php Tutorial

Source: Internet
Author: User
Tags echo date flock

Directory Operations

The first is the function that reads from the directory, Opendir (), Readdir (), Closedir (), which is used when the file handle is opened, and then the iteration is listed:

  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 view the space remaining space.

To create a command:

    • mkdir ($path, 0777): 0777 is the permission code, which can be set under non-window umask () function.
    • RmDir ($path): will delete the path in the $path file.

New file

First, determine the permissions of the directory where you want to create the new file, and the recommended device is 777. Then, the name of the new file is recommended to use an absolute path.


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 function to judge the existence of a file is also file_exists (shown below), but this is obviously not is_readable comprehensive, and when a file exists it can be used:


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:

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:


If you can write it, you can use the File_put_contents function to write:


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:

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 lock        $this->warns (' cannot lock cache file. '); /trigger_error        return false;    }    if (!fwrite ($fso, $pagedata)) {//writes a byte stream, serialize writes to another format        $this->warns (' cannot write to the cache file. '); /trigger_error        return false;    }    Flock ($fso, lock_un);//Release lock    fclose ($FSO);    return true;}

Copy, delete files

PHP Delete Files is very simple, with the unlink function simple operation:


Copying files is also easy:


You can use the rename () function to rename a folder. The rest of the operation is a combination of these functions can be achieved.

Get file properties

Gets the last modified time:


Returns a timestamp that says Unix, which is commonly used in caching techniques.

The related also gets the time that was last accessed 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's permissions.


FileSize () returns the number of bytes in the file size:


To get all the information for a file, there is a function stat () function that returns an array: true techarticle The directory operation is first read from the directory function, Opendir (), Readdir (), Closedir (), the use of the time is to open the file handle, and then iterate to list:? php$base_dir= "filelist/"; $fso ...

  • Related Article

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