• php 文件操作中几种方法整理


    1.获取文件夹下所有文件个数

    echo ShuLiang("../0503lianxi");
    function ShuLiang($filename)
    {
    	if(is_dir($filename))//判断是不是文件夹
    	{
    		$attr=glob($filename."/*");//是文件夹则遍历目录
    		$sl=0;
    		foreach($attr as $v)
    		{
    			if(is_dir($v))
    			{
    				$sl=$sl+ShuLiang($v);		
    			}
    			else
    			{
    				$sl++;	
    			}	
    		}
    		return $sl;
    	}	
    	else if(is_file($filename))
    	{
    		return 1;	
    	}
    	else
    	{
    		return 0;	
    	}
    }
    

      

    2.获取文件夹下所有文件大小

    方法1:

    echo Size("../0505lianxi");
    function Size($filename)
    {
    	if(is_dir($filename))//判断是否是文件夹
    	{
    		$attr=glob($filename."/*");//遍历文件夹
    		$size=0;
    		foreach($attr as $v)
    		{
    			if(is_dir($v))
    			{
    				$size=filesize($filename)+Size($v);
    			}	
    			else
    			{
    				$size+=filesize($v);	
    			}
    		}
    		return $size;
    	}
    	else if(is_file($filename))
    	{
    		return filesize($filename);	
    	}
    	else
    	{
    		return 0;	
    	}
    
    }
    

      

    方法2:

    echo dir_size("../0505lianxi");
    function dir_size($dir)
    {
            $dh = opendir($dir);             //打开目录,返回一个目录流
            $size = 0;      //初始大小为0 
            while(false !== ($file = @readdir($dh)))
    		{     //循环读取目录下的文件
               if($file!='.' and $file!='..')
    		   {
                $path = $dir.'/'.$file;     //设置目录,用于含有子目录的情况
                    if(is_dir($path))
    				{
                    $size += $this->dir_size($path);  //递归调用,计算目录大小
                    }
    				elseif(is_file($path))
    				{
                        $size += filesize($path);   //计算文件大小
                    }
                } 
            }   
            closedir($dh);             //关闭目录流
            return $size;               //返回大小
        }
    

      

    3. 删除目录:(知道就好,不要轻易尝试,容易删除所有文件)

    <?php
    	function deldir($dirname) {
    		if(!file_exists($dirname)) {
    			die("文件夹不存在!");
    		}
    		//如果是文件,直接删除即可
    		if(is_file($dirname)) {
    			unlink($dirname);
    			exit();
    		}
    
    		//打开目录资源
    		$dir = opendir($dirname);
    
    		while($filename = readdir($dir)) {
    			if($filename !="." && $filename!="..") { //*******
    				$filename = $dirname."/".$filename;
    
    				if(is_dir($filename) ) {
    					deldir($filename);
    				}else {
    					unlink($filename);
    				}
    			
    			}
    		}
    
    		closedir($dir);
    		rmdir($dirname);
    	}
    
    
    	
    

      

  • 相关阅读:
    select选择框去掉默认的下拉箭头
    网站怎么添加ico小图标
    js实现逐字打印效果,文本逐字显示
    jQuery实现消息列表循环垂直向上滚动
    滤镜图片变黑白+图片模糊
    多选下拉框(select 下拉多选)
    JavaScript 数组相关基础方法
    h5+ IOS App中判断本地文件是否存在 plus.io.resolveLocalFileSystemURL()
    h5+ IOS App中取消视频默认全屏播放
    C# 多线程与队列操作小练刀
  • 原文地址:https://www.cnblogs.com/ds-3579/p/5526376.html
Copyright © 2020-2023  润新知