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文件系统管理的更多相关文章
- Linux磁盘及文件系统管理
在LINUX中我们知道一个很重要的概念,那就是"一切皆文件",这里的一切表示所有在LINUX系统的对象,自然也包括了LINUX中的硬盘设备.在LINUX中所有设备都被抽象成一个文件 ...
- linux下fdisk分区管理、文件系统管理、挂载文件系统等
分区管理工具有:fdisk, parted, sfdisk fdisk:对于一块硬盘来讲,最多只能管理15分区: # fdisk -l [-u] [device...] 查看硬盘设备分区信息 # f ...
- 【linux相识相知】磁盘分区及文件系统管理详解
磁盘,提供持久的数据存储,它不像我们的内存,如果突然断电了,在内存中的数据一般都会被丢掉了,内存中的数据在保存的时候,会被写到硬盘里面,磁盘也是一种I/O设备. 我们都知道磁盘分区完成之后,还要进行格 ...
- linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包
一.磁盘与文件系统管理 1.分区与文件系统分区:记录每一个分区的开始柱面和结束柱面主引导区(master boot recorder):记录分区的数据,记录硬盘里所有的分区信息分区划分好后,要将分区格 ...
- Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令
通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...
- Linux之磁盘与文件系统管理
磁盘及文件系统管理详解 [参考文献:马哥视频] 原文:http://blog.csdn.net/u013008795/article/details/51150075 目前市场上主流的磁盘是机械式硬盘 ...
- Linux文件系统管理命令(第二版)
Linux文件系统管理命令 常用命令 1.df命令 查看分区使用情况 常用选项 -h 比较人性化 -m 以兆字节显示分区使用情况 显示信息: Mounted on:挂载点 Filesystem:对应的 ...
- uni-app调用原生的文件系统管理器(可选取附件上传)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- linux btrfs文件系统管理与应用
btrfs文件系统管理与应用 1.btrfs文件系统 基本介绍 btrfs文件系统在CentOS7.x上属于技术预览版 btrfs文件系统英文名:B-tree FileSystem或者Butter ...
- Linux:Day7(下) 磁盘管理、文件系统管理
Linux入门 Linux系统管理: 磁盘管理.文件系统管理 RAID基本原理.LVM2 网络管理:TCP/IP协议.Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...
随机推荐
- 51nod 1005 1027 1029 高精度
Java大数用法参考:https://www.cnblogs.com/jin-nuo/p/5313205.html 1005 大数加法: import java.util.*; import java ...
- redux源码解析-函数式编程
提到redux,会想到函数式编程.什么是函数式编程?是一种很奇妙的函数式的编程方法.你会感觉函数式编程这么简单,但是用起来却很方便很神奇. 在<functional javascript> ...
- 点击a标签不跳转的办法
方法1: <a href="http://www.baidu.com" onclick="return false"></a> 方法2: ...
- (转)CDN的作用与基本过程
背景:积累大型网站开发中需要掌握的技术. CDN的作用与基本过程 https://blog.csdn.net/lihao21/article/details/52808747#comments CDN ...
- JS实现clone()方法,对五种主要数据类型进行值复制
Object.Array.Boolean.Number.String 分为三种情况:普通变量,Array,Object 递归调用
- linux 下配置svn
1.以前配置好的,没做笔记,忘记了.现在重新回忆 查找svn目录:find / -name svn 找到/projects/svn cd /projects/svn 看里面的配置: 查看配置 [roo ...
- hystrix项目实战
闲话少说: 总共分6步: (1)添加hystrix依赖以及监控的依赖 <dependency> <groupId>org.springframework.cloud</g ...
- (最小生成树) codeVs 1231 最优布线问题
题目描述 Description 学校需要将n台计算机连接起来,不同的2台计算机之间的连接费用可能是不同的.为了节省费用,我们考虑采用间接数据传输结束,就是一台计算机可以间接地通过其他计算机实现和另外 ...
- node.js(基础四)_express基础
一.前言 本次内容主要包括: 1.express的基本用法 2.express中的静 ...
- 25 个常用的 Linux iptables 规则
# 1. 删除所有现有规则 iptables -F # 2. 设置默认的 chain 策略 iptables -P INPUT DROP iptables -P FORWARD DROP ipta ...