php学习笔记3--文件系统的操作(创建、打开及批量删除)

文件操作:
resource fopen(string name,string mode); 打开文件或远程url
bool fclose(resource handle);关闭打开的文件资源
bool is_readable(string name); 判断文件是否可读
string file_get_contents(string name);读取文件内容
array file(string name);读取文件内容每一行为数组一个元素
bool is_writable(string name);判断文件是否可写
bool fwrite(resource handle,string string);写入内容
int file_put_contents(string name,string date,FILE_APPEND);写入内容
bool file_exists(string name);判断文件或目录存在不存在
目录管理:
bool is_dir(string dirname);判断是不是目录
bool mkdir(string pathname);建立目录
resource opendir(string path);打开目录,目录打开,目录流指定头
string readdir(resource dir_handel);目录读一次,流自动下移,到结尾时,readdir()返回false;
void closedir(resource dir_handel);关闭打开的目录
bool rmdir(string dirname);//只能删除空目录或空文件夹,非空无法删除

array scandir(string directory);返回目录中的目录名和文件名组成的数组

bool copy ( string $source , string $dest [, resource $context ] )
bool rename ( string $oldname , string $newname [, resource $context ] )
bool file_exists ( string $filename )
bool unlink ( string $filename [, resource $context ] )
bool is_file ( string $filename )判断给定文件名是否为一个正常的文件

递归批量删除非空目录:(函数如下)

function delTree($dir) {
   $files = array_diff(scandir($dir), array('.','..'));
    foreach ($files as $file) {
      (is_dir("$dir/$file") && !is_link($dir)) ? delTree("$dir/$file") : unlink("$dir/$file");
    }
    return rmdir($dir);
}

统计某一种类型(如php)的文件个数:

p = './';                        //指当前目录
$count = 0;

function ss($dir){
    global $count;
    $ds = scandir($dir);
    foreach($ds as $v){
        if($v=='.' || $v=='..'){ continue;}
        $path = $dir.$v;
        if(is_file($path)){
              if(strrchr($v,'.php')=='.php'){
                  $count++;
              }
        }else{
              ss($path.'/');    
        }
    }
}
ss($p);
echo $count;

批量删除文件(包括本文件夹),如下:

function del($dir){
    $ds = scandir($dir);
    foreach($ds as $v){
        if($v=='.' || $v=='..'){ continue;}
        $path = $dir.$v;
        if(is_file($path)){
              unlink($path);
        }else{
              del($path.'/');    
        }
    }
    return rmdir($dir);
}
del('./a/');
del('c:/');


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值