文件常用封装 读写属性

     //r模式 只读方式打开 指针指向开头 
     //r+模式 读写方式打开 指针指向开头
     //w模式 只写模式 指针指向开头 会清空文件  如果文件不存在 会创建文件 
     //w+模式 只写模式 指针指向开头 会清空文件  如果文件不存在 会创建文件 

<?php 
     //定义一个变量 用来自定义目录级别 
   function rdir($path){
	 static $i = 1;
	 //1 打开目录 
	 $res = opendir($path);
	 //2 读取目录  function rdir($path){
	 while(false!==($f=readdir($res))){
		 //过滤掉.和..
		 if($f=='.' || $f=='..'){
			 continue;
		 }
		 //处理一下文件的路径 
		 $file = rtrim($path,"/")."/".$f;
		 //根据级别添加缩进,级别越深,缩进越多 
		 for($j=1;$j<$i;$j++){
			 $prefix .= "&nbsp;&nbsp";
		 }
		 echo $prefix .$f."----".filetype($file)."<br/>";
		 $prefix = "";
		 //如果该文件系统为目录 
		 if(is_dir($file)){
			 $i++; //每次进入目录 让级别加1 
			 rdir($file);
		 }
	 }
     //关闭目录 
     closedir($res);
     $i--;	//关闭目录的时候让级别减一,恢复到上级目录的级别  
   } 

 

<?php 
     //定义的一个函数 统计目录大小
	 
	 //目录的大小实际就是目录当中所有文件的大小总和
	 function dirsize($path){
		 //1 打开这个目录 
		 
		 //2  遍历目录 
		 while(false!==($f=readder($res))){
			 //先把.和..过滤 
			 if($f=='.' || $f=='..'){
				 continue;
			 }
			 $file = rtrim($path,"/")."/".$f;
			 //判断,如果是目录
             if(Is_dir($file)){
				 $size += dirsize($fize);
			 }else{			 
			  //3 统计文件的大写 依次累加 
			     $size += filesize($fize);
			 }
		 }
		 //4 关闭目录
         closedir($res);
         return $size;		 
	}
<?php 
    //定义一个函数 完成目录的复制 
    function cpdir($source,$dst){
		//1 创建$dst目录 
		mkdir($dst,0755);
		
		//2 遍历$source目录 
		    //打开文件夹 
			//进行循环遍历 
			$res = opendir($surce);
			while(false!==($f=readdir($res))){
				//先把.和..过滤 
				if($f=='.' || $f=='..'){
					continue;
				}
			//3 遇到文件 直接将文件copy到$dst目录当中
			        $file = rtrim($source,"/")."/".$f;    
					$dst_file = rtrim($dst,"/")."/".$f;
					if(is_file($file)){
						copy($file,$dst_file);
					}
					//4 遇到目录 在调用自己 
		            if(is_dir($file)){
			           cpdir($file,$dst_file);
		        	}
		}
		closedir($res);
	}
	 
  	 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值