PHP文件系统管理(实例讲解)


Posted in PHP onSeptember 19, 2017

文件概念:

第一个是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文件系统管理(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php 远程关机操作的代码
Dec 05 PHP
PHP 组件化编程技巧
Jun 06 PHP
php通过文件头检测文件类型通用代码类(zip,rar等)
Oct 19 PHP
php json_encode奇怪问题说明
Sep 27 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
教你如何快捷的使用cmd访问mysql小技巧
May 26 PHP
php检测url是否存在的方法
Apr 14 PHP
优化WordPress的Google字体以加速国内服务器上的运行
Nov 24 PHP
PHPExcel笔记, mpdf导出
May 03 PHP
PHP实现微信小程序人脸识别刷脸登录功能
May 24 PHP
laravel中的fillable和guarded属性详解
Oct 23 PHP
Laravel框架之解决前端显示图片问题
Oct 24 PHP
Laravel学习教程之View模块详解
Sep 18 #PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 #PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 #PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 #PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
Sep 16 #PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 #PHP
PHP环形链表实现方法示例
Sep 15 #PHP
You might like
PHP面向对象编程快速入门
2006/12/14 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
PHP全局使用Laravel辅助函数dd
2019/12/26 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
javascript call方法使用说明
2010/01/11 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
python中使用enumerate函数遍历元素实例
2014/06/16 Python
在Django框架中伪造捕捉到的URLconf值的方法
2015/07/18 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
Python 实现进度条的六种方式
2021/01/06 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
yy婚礼司仪主持词
2014/03/14 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
党的群众路线教育实践活动督导组工作情况汇报
2014/10/28 职场文书
东京审判观后感
2015/06/01 职场文书
房产证明范本
2015/06/19 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL