PHP里文件的查找方式及写法
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里文件的查找方式及写法的更多相关文章
- linux下的find文件查找命令与grep文件内容查找命令
在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访 ...
- linux上查找文件存放地点和文件中查找字符串方法
一.查找文件存放地点 1.locate 语法:locate <filename> locate命令实际是"find -name"的另一种写法,但是查找方式跟find不同 ...
- Spring Boot + Vue 前后端分离,两种文件上传方式总结
在Vue.js 中,如果网络请求使用 axios ,并且使用了 ElementUI 库,那么一般来说,文件上传有两种不同的实现方案: 通过 Ajax 实现文件上传 通过 ElementUI 里边的 U ...
- python 全栈开发,Day108(客户管理之权限控制,客户管理之动态"一级"菜单,其他应用使用rbac组件,django static文件的引入方式)
一.客户管理之权限控制 昨天的作业,有很多不完善的地方 下载代码,基本实现权限验证 https://github.com/987334176/luffy_permission/archive/v1.2 ...
- linux下文件内容查找 转
find | xargs grep test find命令和xargs命令 网友:wuye_chinaunix 发布于: : (共有条评论) 查看评论 | 我要评论 青云 分配文件 - -| 回首页 ...
- C语言头文件、库文件的查找路径
在 程序设计中,文件包含是很有用的.一个大的程序可以分为多个模块,由多个程序员分别编程.有些公用的符号常量或宏定义等可单独组成一个文件,在其它文件的开头用包含命令包含该文件即可使用.这样,可避免在每个 ...
- [Linux] find文件查找和grep文件内容查找
在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的: (1)find命令:根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时 ...
- 嵌入式开发之命令行---linux下的find文件查找命令与grep文件内容查找命令
在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访 ...
- 怎样在PDF文件中查找某个特定的词?
不得不说中国的修饰词太多了例如:“滚”可以这样说,请你以一种圆润的方式离开:上次小编在路上听到某男子打电话,好像是给女孩子,那口才,是真的牛,夸人不带重复的.要不是我男孩子,我都想以身相许了.人们常常 ...
随机推荐
- 增加VMWare开机画面时间,来防止快速跳过而无法进入BIOS
用记事本打开xx.vmx,在里面添加一行: bios.bootDelay = "30000" 意思是开机后,在开机画面里停留30秒.
- Linux Kernel的Makefile与Kconfig文件的语法
https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt Introduction ------------ The c ...
- Linux Shell脚本入门--Uniq命令
uniq uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用.也就是说,为了使uniq起作用,所有的重复行必须是相邻的. uniq语法 [root@www ~]# uniq [ ...
- 01.由浅入深学习.NET CLR 基础系列之CLR 的执行模型
.Net 从代码生成到执行,这中间的一些列过程是一个有别于其他的新技术新概念,那么这是一个什么样的过程呢,有什么样的机制呢,清楚了这些基本的东西我们做.Net的东西方可心中有数.那么,CLR的执行模型 ...
- JAVA 异常 throw 与 throws
最近一直throw和throw new …… 获取头部罢工,要彻底生气清楚这件事,他对这个思想精华收集了很多网友.这里摘录. throws全部异常信息throw则是指抛出的一个详细的异常类型.通常在一 ...
- Android借助Application重写App的Crash(简易版)
MainActivity如下: package cn.testcrash; import android.app.Activity; import android.os.Bundle; /** * D ...
- ant svn
<!-- 检出代码 这里使用 export 不是checkout 二者区别 checkout会svn相关信息文件检出,export只是检出最新的文件--> <target name= ...
- EF Code First Migrations, 支持MySQL
1.Enable-Migrations 2. Add-Migration TagName 3. Update-Database 注意,每次更改cs后,注意Build,再运行命令. MySql参考: h ...
- KMP 代码 暂存
#include <stdio.h> #include <string.h> ],B[]; ]; int n, m; void _next(){ ; ; next[] = ; ...
- c内存结构
每个进程都运行在自己私有的内存空间中(即虚拟地址空间).在32位系统中,4GB的进程地址东健被分为用户空间和内核空间两个部分.用户空间占据着 0~3GB(用16进制表示为0xC0000000),而内核 ...