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

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

.用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

.文件路径
  ./ 代表当前目录
  ../代表上级目录
   /代表根目录
网页里面的根:代表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"); //将相对路径转换为绝对路径

.遍历目录

var_dump(glob("./touxiang/*")); //返回目录下所有的文件

$attr = glob("./touxiang/*");

foreach($attr as $v)
{
echo $v."<br>";
}
运行:

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

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("\wamp\www\php\shanchuhechakan");
运行结果:

这是文件的属性

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

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

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


PHP里文件的查找方式及写法的更多相关文章

  1. linux下的find文件查找命令与grep文件内容查找命令

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访 ...

  2. linux上查找文件存放地点和文件中查找字符串方法

    一.查找文件存放地点 1.locate 语法:locate <filename> locate命令实际是"find -name"的另一种写法,但是查找方式跟find不同 ...

  3. Spring Boot + Vue 前后端分离,两种文件上传方式总结

    在Vue.js 中,如果网络请求使用 axios ,并且使用了 ElementUI 库,那么一般来说,文件上传有两种不同的实现方案: 通过 Ajax 实现文件上传 通过 ElementUI 里边的 U ...

  4. python 全栈开发,Day108(客户管理之权限控制,客户管理之动态"一级"菜单,其他应用使用rbac组件,django static文件的引入方式)

    一.客户管理之权限控制 昨天的作业,有很多不完善的地方 下载代码,基本实现权限验证 https://github.com/987334176/luffy_permission/archive/v1.2 ...

  5. linux下文件内容查找 转

    find | xargs grep test find命令和xargs命令 网友:wuye_chinaunix 发布于: : (共有条评论) 查看评论 | 我要评论 青云 分配文件 - -| 回首页 ...

  6. C语言头文件、库文件的查找路径

    在 程序设计中,文件包含是很有用的.一个大的程序可以分为多个模块,由多个程序员分别编程.有些公用的符号常量或宏定义等可单独组成一个文件,在其它文件的开头用包含命令包含该文件即可使用.这样,可避免在每个 ...

  7. [Linux] find文件查找和grep文件内容查找

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的: (1)find命令:根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时 ...

  8. 嵌入式开发之命令行---linux下的find文件查找命令与grep文件内容查找命令

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访 ...

  9. 怎样在PDF文件中查找某个特定的词?

    不得不说中国的修饰词太多了例如:“滚”可以这样说,请你以一种圆润的方式离开:上次小编在路上听到某男子打电话,好像是给女孩子,那口才,是真的牛,夸人不带重复的.要不是我男孩子,我都想以身相许了.人们常常 ...

随机推荐

  1. IE8下div中2个button仅仅显示一个

    IE8下div中2个button仅仅显示一个,代码例如以下: <div id="adviceType" style="display: none;" &g ...

  2. ASP.NET中XML转JSON的方法

    原文:ASP.NET中XML转JSON的方法 许多应用程序都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理.要实现这一点,它们必须将XML格式转换为JSON格式. X ...

  3. leetcode[159] Longest Substring with At Most Two Distinct Characters

    找到最多含有两个不同字符的子串的最长长度.例如:eoeabc,最长的是eoe为3,其他都为2. 思路: 用p1,p2表示两种字符串的最后一个出现的下标位置.初始p1为0. p2为-1.start初始化 ...

  4. unix域套接字UDP网络编程

    unix域套接字UDP网络编程,服务器如下面: #include <stdio.h> #include <stdlib.h> #include <string.h> ...

  5. BackgroundWorker组件使用总结

    首先在窗体拖入一个BackgroundWorker组件,根据功能需要设置BackgroundWorker的属性 WorkerSupportsCancellation = true; 允许取消后台正在执 ...

  6. 领域驱动设计(DDD)

    领域驱动设计(DDD)实现之路 2004年,当Eric Evans的那本<领域驱动设计——软件核心复杂性应对之道>(后文简称<领域驱动设计>)出版时,我还在念高中,接触到领域驱 ...

  7. IDE编程环境

    Vim配置及说明——IDE编程环境 目录 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 ...

  8. Java多线程学习笔记--生产消费者模式

    实际开发中,我们经常会接触到生产消费者模型,如:Android的Looper相应handler处理UI操作,Socket通信的响应过程.数据缓冲区在文件读写应用等.强大的模型框架,鉴于本人水平有限目前 ...

  9. .NET中文乱码解决方案

    前言:最近升级一个由VS05开发的项目,当迁移至VS10后,试运行,啊~!我文盲了,怎么一个汉字都不认识了!(乱码纷纷的说) 说明:本文以将项目改为UTF8编码为例. 解决之道 1.修改配置文件 &l ...

  10. IOS使用 Visual Format Language 定义水平和垂直约束

    定义限制条件来改变一个 UI 组件在其父视图的水平和垂直方向布局的方法. 可以使用方程式里 H:方向符号代表水平方向的边距,使用 V:方向符号代表垂直方向的边 距. 转载请注明,本文转自:http:/ ...