文件概念:

第一个是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. python安装tesseract

    一.最近在学习python爬虫的时候需要用到tesseract,但书上的给的教程对我并不适用,坑了好久天,才终于成功. 二.方法: 1.由于我看的是静谧博主的那本书.他给的教程在python3安装有问 ...

  2. PMP认证考试的最新趋势及10大特征(针对改版后)

    我们都知道,今年PMP认证考试的教材已经改版了,最新版的内容是有不少的改动的,我们在了解PMP考试的时候,也要了解PMP考试的最新趋势,以便拿出应对的方法. 一.情景题更接地气 虽然PMP考试中继续保 ...

  3. Solr7.1--- 单机Linux环境搭建

    应网友的要求,写个关于Linux单机的 首先,把MySQL驱动包和solr7.1安装包上传到服务器,我上传到了自定义的目录/mysoft 执行服务安装脚本 1. 先切换到root用户 2. 解压出脚本 ...

  4. 做错的题目——this的指向

    不管延不延时,setTimeout里面的function都是孤立的,并不属于哪一个对象,所以this只会指向全局

  5. Jquery Mobile基本元素

    移动端框架 安装: CDN: <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jq ...

  6. Gym - 101755G Underpalindromity (树状数组)

    Let us call underpalindromity of array b of length k the minimal number of times one need to increme ...

  7. 将分支代码合并到master和将master代码合并到dev

    两种合并分支的方法: 都保证在合到的那个分支上面:A合并到B,即保证当前在B分支上. A merge B是把A中的改动放到B分支上,B merge A是把B中的改动merge到A中,例如把master ...

  8. Python模块初识

    目录 一 模块初识 二 模块分类 三 导入模块 四 Python文件的两种用途 五 模板查找顺序 六 软件开发目录规范 一.模块初识 模块是自我包含并且有组织的代码片段,是一系列功能的集合体,一个py ...

  9. M1-SaltStack&Flask-Day4

    1.virtualenv 虚拟环境 2.virtualenv env1 -p= 解释器路径 3. 进入Scripts 执行activate 激活配置 4.执行deactivate 取消激活配置 2.1 ...

  10. Linux系统CPU相关信息查询

    Linux系统CPU相关信息查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lscpu常用参数介绍 1>.查看帮助信息 [root@node105 ~]# lscpu ...