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");

  • 相关阅读:
    ASP.NET Core 个人新闻项目
    C# 检查字符串中是否有HTML标签、返回过滤掉所有的HTML标签后的字符串
    VueCLI 页面加载进度条效果
    replace() 方法使用
    CentOS 7.9安装教程
    在Windows中安装MySQL
    linux安装consul
    jenkins Skywalking安装部署文档总结
    CentOS 7.x安装.NET运行时
    Apollo部署文档
  • 原文地址:https://www.cnblogs.com/aqxss/p/6287161.html
Copyright © 2011-2022 走看看