首页 > php文件操作 > php 文件目录操作函数

php 文件目录操作函数

在php中我们有大量的可对文件与目录操作的函数,下面我来总结一下这些函数的用法.

mkdir();函数:php创建文件夹和文件

<?php
function createdir($dir) {
    if (file_exists($dir) && is_dir($dir)) { //如果存在这个文件并且这个文件是个目录就不动作
        
    } else {
        mkdir($dir, 0777); //否则就创造这个目录
        
    }
}
?>

file_exists();函数,file_exists -- 检查文件或目录是否存在,代码如下:

<?php
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
    print "The file $filename exists";
} else {
    print "The file $filename does not exist";
}
?>

is_dir();函数,is_dir();测试文件是否为目录,为目录就返回true,不就返回false.

is_file();Is_File('目标文件路径和文件名'),为文件返回"True",不为文件返回"False"。

is_link();文件系统函数库

is_link();测试文件是否为链接文件。

true 值则表示指定的 filename 存在并为符号链接文件.

rmdir 命令

功能:删除空目录

rmdir [选项] dirname 

- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除,如果整个路径被删除或者由于某种原因.保留部分路径,则系统在标准输出上显示相应的信息。

要清空并除去目录,请输入:

rm mydir/* mydir/.*

rmdir mydir

该命令除去 mydir 文件中的内容接着除去空目录,rm 命令显示一条关于尝试除去目录 .(点)和.. (点,点)的错误消息,然后 rmdir 命令除去它们。

建立一个文件名字为aa.txt,代码如下:

$fp=fopen('aa.txt',   'w+');   //建立一新文件    
	chmod('aa.txt',   0777);   //设定权限,不然的话建立后无法修改,删除   //好象这行不用也可以  
	fwrite($fp,   '要写入的内容');   //写内容    
	fclose($fp);   //关闭文件

unlink()函数

功能:删除文件,unlink($filename),删除文件名为$filename的文件,删除指定目录下的所有文件,代码如下:

<?php
function dir_clear($dir) {
    $directory = dir($dir); //创建一个dir类(Php手册上这么说的),用来读取目录中的每一个文件
    while ($entry = $directory->read()) { //循环每一个文件,并取得文件名$entry
        $filename = $dir . '/' . $entry; //取得完整的文件名,带路径的
        if (is_file($filename)) { //如果是文件,则执行删除操作
            @unlink($filename);
        }
    }
    $directory->close(); //关闭读取目录文件的类
    result();
}
?>

列出目录中包括子目录的所有文件程序,代码如下:

<?php
/*
 * PHP 读取目录下及其子目下的文件函数
 * */
$files = getFile("images"); //调用函数
foreach ($files as $name) {
    echo "$name" . "<br>";
}
function getFile($dir) {
    $files = array();
    if (is_file($dir)) { //如果指定路径为文件直接返回
        return $dir;
    }
    $hande = opendir($dir);
    if ($hande) {
        while (false !== ($ufile = readdir($hande))) { //如果读取目录成功
            if ($ufile != "." && $ufile != "..") {
                $filename = $dir . "/" . $ufile;
                if (is_file($filename)) {
                    $files[] = $filename;
                } else {
                    $files = array_merge($files, getFile($filename));
                }
            }
        } //end While
        closedir($hande);
    } //end if
    return $files;
}
?>

删除指定目录下的所有文件以及所有文件夹强烈推荐这种方法,代码如下:

<?php
function rmdir_tree($dirname) //定义一个函数rmdir_tree,要删除的文件名为$dirname
{
    $handle = opendir($dirname); //打开名为$dirname的文件夹
    while ($file = readdir($handle)) //跑回圈读取打开的文件夹
    {
        if (($file == ".") || ($file == "..")) continue; //继续跑的条件,如果不满足就不跑了
        $fullname = $dirname . "/" . $file; //完整的文件名(包括路径)
        if (filetype($fullname) == "dir") rmdir_tree($fullname); //调用刚刚定义的函数,实现递归
        else unlink($fullname); //删除文件
        
    }
    closedir($handle); //关闭打开了的文件夹
    rmdir($dirname); //删除自身(文件夹)
    
}
?>

       

本文地址:http://www.phprm.com/wenjian/fs1078.html

转载随意,但请附上文章地址:-)

标签:php文件 目录 操作

相关文章

发表留言