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文件中查找某个特定的词?
不得不说中国的修饰词太多了例如:“滚”可以这样说,请你以一种圆润的方式离开:上次小编在路上听到某男子打电话,好像是给女孩子,那口才,是真的牛,夸人不带重复的.要不是我男孩子,我都想以身相许了.人们常常 ...
随机推荐
- IE8下div中2个button仅仅显示一个
IE8下div中2个button仅仅显示一个,代码例如以下: <div id="adviceType" style="display: none;" &g ...
- ASP.NET中XML转JSON的方法
原文:ASP.NET中XML转JSON的方法 许多应用程序都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理.要实现这一点,它们必须将XML格式转换为JSON格式. X ...
- leetcode[159] Longest Substring with At Most Two Distinct Characters
找到最多含有两个不同字符的子串的最长长度.例如:eoeabc,最长的是eoe为3,其他都为2. 思路: 用p1,p2表示两种字符串的最后一个出现的下标位置.初始p1为0. p2为-1.start初始化 ...
- unix域套接字UDP网络编程
unix域套接字UDP网络编程,服务器如下面: #include <stdio.h> #include <stdlib.h> #include <string.h> ...
- BackgroundWorker组件使用总结
首先在窗体拖入一个BackgroundWorker组件,根据功能需要设置BackgroundWorker的属性 WorkerSupportsCancellation = true; 允许取消后台正在执 ...
- 领域驱动设计(DDD)
领域驱动设计(DDD)实现之路 2004年,当Eric Evans的那本<领域驱动设计——软件核心复杂性应对之道>(后文简称<领域驱动设计>)出版时,我还在念高中,接触到领域驱 ...
- IDE编程环境
Vim配置及说明——IDE编程环境 目录 Vim配置及说明——IDE编程环境 1.基本及字体 2.插件管理 3.主题风格 4.窗口设置 5.目录树导航 6.标签导航 7.taglist 8.多文档编辑 ...
- Java多线程学习笔记--生产消费者模式
实际开发中,我们经常会接触到生产消费者模型,如:Android的Looper相应handler处理UI操作,Socket通信的响应过程.数据缓冲区在文件读写应用等.强大的模型框架,鉴于本人水平有限目前 ...
- .NET中文乱码解决方案
前言:最近升级一个由VS05开发的项目,当迁移至VS10后,试运行,啊~!我文盲了,怎么一个汉字都不认识了!(乱码纷纷的说) 说明:本文以将项目改为UTF8编码为例. 解决之道 1.修改配置文件 &l ...
- IOS使用 Visual Format Language 定义水平和垂直约束
定义限制条件来改变一个 UI 组件在其父视图的水平和垂直方向布局的方法. 可以使用方程式里 H:方向符号代表水平方向的边距,使用 V:方向符号代表垂直方向的边 距. 转载请注明,本文转自:http:/ ...