PHP文件系统管理(实例讲解)
文件概念:
第一个是windows的文件,另一个php根据LINUX的文件,两者是有所不同的,我们说的页面基于windows的文件可以是是文件夹(也就是目录)或是文件,而php两者都必须有,它包含目录和文件2种。
1.判断文件类型
(1)获取文件类型 filetype("./images")
例如:var_dump(filetype("./img")); //返回文件类型,目录或文件,如果是目录则返回dir,如果是文件则返回file;
(2)判断是否是目录类型 is_dir("")
判断是否是文件类型 is_file("")
例如:var_dump(is_dir("./img/11.png"));
var_dump(is_file("./img/11.png"));
2.文件属性
(1)文件上次访问时间 fileatime("") 其返回值为时间戳
文件创建时间 filectime("")
文件修改时间 filemtime("")
文件大小 filesize("")
文件是否已存在 file_exists("") 这个比较常用
例如:var_dump(date("Y-m-d H:i:s",fileatime("./img/11.png"))); 返回的为上次访问的正常时间
3.文件路径
(1)当前路径 ./ 例如:./date
(2)上级路径 ../ 例如:../img
(3)根路径
页面的模式:根目录为www
例如:/1220/wenjian/img/11.png
php的模式:根目录为磁盘,即操作系统根
例如:/wamp/www/1220/wenjian/img/11.png
(4)取服务器的根目录
$_SERVER['DOCUMENT_ROOT']
例如:echo $_SERVER['DOCUMENT_ROOT'];
(5)路径中获取文件名
basename("路径")
例如:echo basename("/wamp/www/1220/wenjian/img/11.png");
返回的是11.png
basename("路径",".php/.txt")
例如:echo basename("/wamp/www/1220/wenjian/img/11.png",".png");
返回的是11
(6)路径中目录名
dirname("路径")
例如:echo dirname("/wamp/www/1220/wenjian/img/11.png");
返回的是img
(7)返回数组
pathinfo("路径")
(8)返回规范化的绝对路径
realpath("路径")
例如:echo realpath("./img/11.png");//将相对路径转化为绝对路径
得到的值是/wamp/www/1220/wenjian/img/11.png
4.目录操作
(1)遍历数组 glob("./fenye/*.php")
实例:给你一个文件夹,返回该文件夹下所有文件数量
<?php
//递归函数实现功能
function fileall($fname){
$sum = 0;
if(is_dir($fname)){
$dir = opendir($fname);
while($name = readdir($dir)){
if($name != "." && $name != ".."){
$wzpath = $fname."/".$name;//将文件拼接成完整的路径
if(is_file($wzpath)){//如果是文件+1
$sum++;
}else{//如果是文件夹调用本身函数查找所有文件
$sum += fileall($wzpath);
}
}
}
closedir($dir);
return $sum;
}else{
return 1;
}
}
函数调用:echo fileall("./bootstrap");
?>
以上这篇PHP文件系统管理(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
本程序实现了使用一个index.php文件来实现所有文件夹的遍历效果,避免了需要无穷复制index.php至文件夹下才能实现的效果2012-07-07
php使用array_chunk函数将一个数组分割成多个数组
这篇文章主要介绍了php使用array_chunk函数将一个数组分割成多个数组,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2018-12-12
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
这篇文章主要介绍了针对thinkPHP5框架存储过程bug重写的存储过程扩展类,结合完整实例形式给出了修复thinkPHP5存储过程原有bug的扩展类定义与使用方法,需要的朋友可以参考下2018-06-06
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
这篇文章主要介绍了Thinkphp5框架简单实现钩子(Hook)行为的方法,结合实例形式详细分析了Thinkphp5框架实现钩子(Hook)行为的步骤与相关操作技巧,需要的朋友可以参考下2019-09-09


最新评论