首页 > php教程 > php手册 > 正文

php 文件目录操作函数

WBOY
发布: 2016-05-25 16:55:12
原创
944 人浏览过
在php中我们有大量的可对文件与目录操作的函数,下面我来总结一下这些函数的用法,有需要学习的朋友可参考参考。

mkdir();函数

php创建文件夹和文件

///创建文件夹

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

file_exists();函数

file_exists -- 检查文件或目录是否存在

 代码如下 复制代码
 代码如下 复制代码

$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
print "The file $filename exists";
} else {
print "The file $filename does not exist";
}
?>

$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,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因

保留部分路径,则系统在标准输出上显示相应的信息。


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

 代码如下 复制代码

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

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的文件


删除指定目录下的所有文件

    }
    $directory->close();                   //关闭读取目录文件的类    result();
}
 代码如下
 代码如下 复制代码

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();
}

复制代码


function dir_clear($dir) {

    $directory = dir($dir);                //创建一个dir类(Php手册上这么说的),用来读取目录中的每一个文

 代码如下 复制代码

/*
* PHP 读取目录下及其子目下的文件函数
* */
$files=getFile("images");//调用函数
foreach ($files as $name){
echo "$name"."
";
}
 
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;
}
?>

    while($entry = $directory->read()) {   //循环每一个文件,并取得文件名$entry
        $filename = $dir.'/'.$entry;       //取得完整的文件名,带路径的

        if(is_file($filename)) {           //如果是文件,则执行删除操作
 代码如下 复制代码
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);//删除自身(文件夹)
}
            @unlink($filename);

        }

列出目录中包括子目录的所有文件程序 
 代码如下 复制代码
/*<🎜> * PHP 读取目录下及其子目下的文件函数<🎜> * */<🎜>$files=getFile("images");//调用函数<🎜>foreach ($files as $name){<🎜> echo "$name"."
";} 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.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!