好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php 文件目录操作函数 - php文件操作

php 文件目录操作函数

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

mkdir();函数: 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的文件,删除指定目录下的所有文件,代码如下:

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 ;  }  ?> 

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

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 ); //删除自身(文件夹)   }

查看更多关于php 文件目录操作函数 - php文件操作的详细内容...

  阅读:59次