zoukankan      html  css  js  c++  java
  • 文件操作

     操作内容

    1.只能操作服务器的文件
    2.文件包含目录和文件

     

    //判断文件类型
    //var_dump(filetype("../0529")); //返回文件的类型:目录dir 文件file
    //var_dump(is_dir("../11.php")); //判断路径是不是目录
    //var_dump(is_file("../11.php")); //判断路径是不是文件
    
    //文件属性
    //echo date("Y-m-d H:i:s",fileatime("../11.php")); //上次访问时间
    //echo date("Y-m-d H:i:s",filectime("../11.php")); //创建时间
    //echo date("Y-m-d H:i:s",filemtime("../11.php")); //修改时间
    //echo filesize("../11.php"); //文件大小,字节为单位
    //var_dump(file_exists("../12.php")); //判断文件是否存在
    
    //文件路径
    //当前路径:./  上级目录:../  下级目录:目录/  根路径:/
    //如果是php里面的根(/)路径代表:磁盘的根
    //如果是在网页里面的根(/)路径代表:服务器的根(www目录)
    //echo $_SERVER['DOCUMENT_ROOT']; //取服务器的根路径
    //echo basename("../11.php"); //从路径中获取带后缀的文件名
    //echo basename("../11.php",".php"); //从路径中获取不带后缀的文件名
    //echo dirname("../0529/aa.php"); //取路径中除去文件名的目录
    //var_dump(pathinfo("../0529/aa.php")); //返回目录信息,格式为数组
    //echo realpath("../0529/aa.php"); //将相对路径转化为绝对路径
    
    //操作目录
    //var_dump(glob("../tp/*.php")); //获取目录下所有的文件*  某个后缀的*.php
    
    $attr = glob("../tp/*");
    for($i=0;$i<count($attr);$i++)
    {
    	echo $attr[$i]."<br>";
    }
    

      遍历读取所有文件和文件夹数量

    //定义两个变量
    $filenum = 0;
    $dirnum = 0;
    
    Num("../shangchuan");
    
    echo "文件的数量为:".$filenum."<br>";
    echo "文件夹的数量为:".$dirnum;
    
    function Num($url)
    {
    	global $filenum;
    	global $dirnum;
    	
    	//判断给的路径是不是文件	
    	if(is_file($url))
    	{
    		$filenum = 1;
    		return $filenum;
    		exit;
    	}
    	
    	//获取目录下所有的子文件
    	$attr = glob($url."/*");
    	
    	//遍历所有的子文件
    	foreach($attr as $v)
    	{
    		if(is_file($v))
    		{
    			$filenum++;
    		}
    		else
    		{
    			$dirnum++;
    			Num($v);
    		}
    	}
    }
    

      

     计算所有文件数量

    echo Num("../tp");
    
    function Num($url)
    {
    	$filenum = 0;
    	//判断给的路径是不是文件	
    	if(is_file($url))
    	{
    		$filenum = 1;
    		return $filenum;
    		exit;
    	}
    	
    	//获取目录下所有的子文件
    	$attr = glob($url."/*");
    	
    	//遍历所有的子文件
    	foreach($attr as $v)
    	{
    		if(is_file($v))
    		{
    			$filenum++;
    		}
    		else
    		{
    			$filenum = $filenum + Num($v);
    		}
    	}
    	
    	return $filenum;
    }
    

      计算文件夹大小

    echo DirSize("../fenye");
    function DirSize($url)
    {
    	//定义变量存储文件大小
    	$size = 0;
    	
    	//判断给的路径是不是文件
    	if(is_file($url))
    	{
    		return filesize($url);
    		exit;
    	}
    	
    	//如果是目录,取目录下的所有文件
    	$attr = glob($url."/*");
    	
    	//遍历子文件
    	foreach($attr as $v)
    	{
    		if(is_file($v))
    		{
    			$size = $size + filesize($v);
    		}
    		else
    		{
    			$size = $size + DirSize($v);
    		}
    	}
    	
    	return $size;
    }
    

      使用目录资源遍历

    $dir = opendir("../tp"); //打开目录资源
    
    //echo readdir($dir); //读取目录下的文件,执行一次读一个
    
    while($wj = readdir($dir))
    {
    	echo $wj."<br>";
    }
    
    closedir($dir); //关闭目录资源
    
    //rewinddir($dir);//将指针重置
    
    
    
    //使用readdir()读取的第一个和第二个内容
    //第一个是. 代表当前目录
    //第二个是.. 代表上级目录
    //在使用目录资源遍历文件夹的时候要注意将前两个排除
    

      

  • 相关阅读:
    文字上下滚动效果
    导航点击变化
    腾讯新闻导航栏
    Docker 数据卷和DockerFile
    Docker 容器
    Docker 镜像
    Docker的初始和架构
    面向对象的设计模式与原则
    安装CentOS 7MInimal版本
    ASP.NET WebApi 启动默认的HelpPage文档注释
  • 原文地址:https://www.cnblogs.com/pangchunlei/p/5635707.html
Copyright © 2011-2022 走看看