zoukankan      html  css  js  c++  java
  • PHP里文件的查找方式及写法

    PHP里说的文件包括:文件和目录
    1.用filetype方法加路径("./11.txt")是判断文件类型


    //var_dump(filetype("./11.txt"));//判断文件类型.是文件返回:string 'file' (length=4)。如果返回string 'dir' (length=3)代表目录的意思、也就是文件夹

    2.用is_dir("");判断是不是目录
    //var_dump(is_dir("./22"));//判断文件是不是目录.是目录返回boolean true
    //var_dump(is_dir("./11.txt"));//不是目录。不是返回boolean false

    
    
    3. 文件属性
    //echo date("Y-m-d H:i:s",fileatime("./11.txt")); //获取文件上次访问时间
    //echo date("Y-m-d H:i:s",filectime("./11.txt")); //文件的创建时
    //echo date("Y-m-d H:i:s",filemtime("./11.txt")); //文件的修改时间
    //echo filesize("./11.txt"); //文件大小
    
    //var_dump(file_exists("./12.txt")); //文件是否存在、这是不存在返回:boolean false
    //var_dump(file_exists("./11.txt")); //文件是否存在、这是存在返回:boolean true
    

     4.文件路径
      ./ 代表当前目录
      ../代表上级目录
       /代表根目录
    网页里面的根:代表www目录
    php里面的根:代表磁盘目录

    echo $_SERVER['DOCUMENT_ROOT']; //获取当前服务器的根、运行结果D:/wamp/www/ 
    
    echo basename("../test.php"); //获取路径中的文件名,运行结果:test.php
    
    echo basename("../test.php",".php"); //获取去掉后缀的文件名,运行结果:test 
    
    echo dirname("../test.php"); //获取路径中除去文件名的部分
    
    var_dump(pathinfo("../test.php")); //获取文件信息,返回数组
    
    echo realpath("../test.php"); //将相对路径转换为绝对路径
    

    5.遍历目录

    var_dump(glob("./touxiang/*")); //返回目录下所有的文件
    $attr = glob("./touxiang/*");
    
    foreach($attr as $v)
    {
    	echo $v."<br>";
    }
    运行:

    6. 获取某一个文件夹下所有文件的数量(包含文件夹)
    该方法用来获取指定文件夹下文件的数量

    function ShuLiang($filename)
    {
    		$attr = glob($filename."/*");
    		$n = count($attr);
    		
    		foreach($attr as $v)
    		{
    			if(is_dir($v))
    			{
    				$n = $n+ShuLiang($v);
    			}
    		}	
    		
    		return $n;
    }
    echo ShuLiang("wampwwwphpshanchuhechakan");
    运行结果:
     

    这是文件的属性

    $fname = "../shanchuhechakan";
    $dir = opendir($fname);//打开一个目录,返回目录资源
    
    while($url = readdir($dir))
    {
    	echo $fname."/".$url."<br>";
    	
    }
    closedir($dir);//关闭目录资源

     7.例题:用递归。。。获取某一个目录下所有文件的大小

    function Fsize($fname)
    {
    	$size = 0;
    	$dir = opendir($fname);
    	
    	//遍历目录,找到文件,累加大小
    	while($u = readdir($dir))
    	{
    		if($u=="." || $u=="..")
    		{
    		}
    		else
    		{
    			$zfname = $fname."/".$u;
    			if(is_file($zfname))
    			{
    				$size += filesize($zfname);
    			}
    		}
    	}
    	
    	//找到子目录,获取子目录下文件大小
    	rewinddir($dir);
    	while($u = readdir($dir))
    	{
    		if($u=="." || $u=="..")
    		{
    		}
    		else
    		{
    			$zfname = $fname."/".$u;
    			if(is_dir($zfname))
    			{
    				$size += Fsize($zfname);
    			}
    		}
    	}
    	
    	closedir($dir);
    	return $size;
    }
    
    echo Fsize("../shanchuhechakan");

  • 相关阅读:
    ADO.NET FOR MySQL帮助类
    遍历文件夹及其子文件夹下的.pdf文件,并解压文件夹下所有的压缩包
    history.back();谷歌浏览器,iframe后退问题
    Request.url请求属性
    正则表达式 取两字符中间的字符串(双向非贪婪模式)
    MVC 项目中为什么会有两个web.config
    c#动态编译并动态生成dll
    siteserver cms选择栏目搜索无效
    jquery修改Switchery复选框的状态
    ntko office在线编辑控件问题记录
  • 原文地址:https://www.cnblogs.com/aqxss/p/6287161.html
Copyright © 2011-2022 走看看