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

时间:2021-12-02 09:28:03

文件概念:

第一个是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")

实例:给你一个文件夹,返回该文件夹下所有文件数量

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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文件系统管理(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/jly144000/archive/2017/09/18/7545676.html