文件概念:

第一个是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文件系统管理的更多相关文章

  1. Linux磁盘及文件系统管理

    在LINUX中我们知道一个很重要的概念,那就是"一切皆文件",这里的一切表示所有在LINUX系统的对象,自然也包括了LINUX中的硬盘设备.在LINUX中所有设备都被抽象成一个文件 ...

  2. linux下fdisk分区管理、文件系统管理、挂载文件系统等

    分区管理工具有:fdisk, parted, sfdisk fdisk:对于一块硬盘来讲,最多只能管理15分区: # fdisk -l [-u] [device...]  查看硬盘设备分区信息 # f ...

  3. 【linux相识相知】磁盘分区及文件系统管理详解

    磁盘,提供持久的数据存储,它不像我们的内存,如果突然断电了,在内存中的数据一般都会被丢掉了,内存中的数据在保存的时候,会被写到硬盘里面,磁盘也是一种I/O设备. 我们都知道磁盘分区完成之后,还要进行格 ...

  4. linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包

    一.磁盘与文件系统管理 1.分区与文件系统分区:记录每一个分区的开始柱面和结束柱面主引导区(master boot recorder):记录分区的数据,记录硬盘里所有的分区信息分区划分好后,要将分区格 ...

  5. Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令

    通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...

  6. Linux之磁盘与文件系统管理

    磁盘及文件系统管理详解 [参考文献:马哥视频] 原文:http://blog.csdn.net/u013008795/article/details/51150075 目前市场上主流的磁盘是机械式硬盘 ...

  7. Linux文件系统管理命令(第二版)

    Linux文件系统管理命令 常用命令 1.df命令 查看分区使用情况 常用选项 -h 比较人性化 -m 以兆字节显示分区使用情况 显示信息: Mounted on:挂载点 Filesystem:对应的 ...

  8. uni-app调用原生的文件系统管理器(可选取附件上传)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. linux btrfs文件系统管理与应用

    btrfs文件系统管理与应用 1.btrfs文件系统 基本介绍 btrfs文件系统在CentOS7.x上属于技术预览版 btrfs文件系统英文名:B-tree  FileSystem或者Butter ...

  10. Linux:Day7(下) 磁盘管理、文件系统管理

    Linux入门 Linux系统管理: 磁盘管理.文件系统管理 RAID基本原理.LVM2 网络管理:TCP/IP协议.Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...

随机推荐

  1. sublime text3 replace和反向引用

    实用小技巧,主要用于替换爬虫请求头,节省时间. chrome原信息显示: UserID: sds UserPass: sdsd codeKey: 350753 code: 277 B1: 提 subl ...

  2. Zabbix3.4监控平台部署

    环境依赖 CentOS 7.3 + PHP5.4 + MariaDB + Nginx Zabbix Server 3.4.1 环境要求 12 CPU ,最少8 CPU 32G 内存,最少16G 1T ...

  3. nginx+腾讯云免费ssl证书+阿里云ECS实现Https配置

    1. 申请SSL证书: 首先我们需要到腾讯云那边申请一个ssl证书,对于个人博客类型的,建议采用免费版本,土豪除外 申请地址:https://console.cloud.tencent.com/ssl ...

  4. Java线程池中submit()和execute之间的区别?

    一: submit()方法,可以提供Future < T > 类型的返回值. executor()方法,无返回值. execute无返回值 public void execute(Runn ...

  5. js 时间日期格式转换

    Date.prototype.Format = function(formatStr) { var str = formatStr; var Week = ['日', '一', '二', '三', ' ...

  6. Python三大web框架简单介绍

    Django 是重量级框架:它封装的的功能常丰富非常多所以它是重量级,Django的文档最完善.市场占有率最高.招聘职位最多.Django提供全套的解决方案(full-stack framework ...

  7. FluentScheduler定时器计划任务

    http://www.cnblogs.com/lgxlsm/p/6734011.html 用了FluentScheduler后,再也比想用timer计时器了. FluentScheduler 是 .N ...

  8. 使用python制作验证码

    方法一 简单型:使用random模块制作一个随机字母与数字的验证码 import random def make_code(n): res='' for i in range(n): num=str( ...

  9. Gym 101911E "Painting the Fence"(线段树区间更新+双端队列)

    传送门 题意: 庭院中有 n 个围栏,每个围栏上都被涂上了不同的颜色(数字表示): 有 m 条指令,每条指令给出一个整数 x ,你要做的就是将区间[ x第一次出现的位置 , x最后出现的位置 ]中的围 ...

  10. Linux 查看进程的线程数

    三种方法: 1. 使用top命令,具体用法是 top -H 加上这个选项,top的每一行就不是显示一个进程,而是一个线程. 2. 使用ps命令,具体用法是 ps -xH 这样可以查看所有存在的线程,也 ...