【php】文件系统
一、 了解文件:
a) 我们在Windows当中已知众多种文件类型:png、jpeg、jpg、gif、mp3、mp4、avi、rmvb、txt、doc、exl、ppt、php、exe
b) 无论我们windows当中有多少种文件类型,他们都是用来存储数据的!
c) 在PHP当中使用变量、数组来存储数据,为什么windows系统不使用变量来存储数据?原因:php当中的变量存储的数据生存周期端,而且只能在php脚本当中来执行,因此我们需要使用文件这种介质来永久的保存不同类型的数据!
二、 Windows当中的文件类型:
a) 三个类别:
i. File:文件类型
ii. Dir:目录文件
iii. Unknown:未知类型
三、 文件的相关函数:
a) Filetype():获取文件的具体类型【返回结果为上述的三种类型】
b) Is_file():判断给定的文件名是否是一个文件,是返回true,否则返回false
c) Is_dir():判断给定的文件名是否是一个目录,是返回true,否则返回false
d) Is_readable():判断给定的文件是否可读
e) Is_writable():判断给定的文件是否可写
f) Is_executable():判断给定的文件名是否可执行
g) File_exists():判断给定的文件名是否存在
h) Filesize():取得给定文件名的大小
i) Filectime():获取文件的创建时间
j) Filemtime():获取文件的修改时间
k) Fileatime():获取文件的访问时间
l) Stat():获取文件的大部分属性
四、 目录的相关操作:
a) 我们要查找一个文件或使用一个文件,首先要知道这个文件的存储位置,也就是要知道它的路径!
b) 相对路径:
i. 相对路径的含义,就是相对于当前文件,去寻找另外的一个文件
ii. . :相对于当前文件所在的当前目录
iii. .. :相对于当前文件的上一级目录
c) 绝对路径:
i. $unixPath="/var/www/html/index.php"; 属于Linux或Unix当中的绝对路径格式,从“/”根盘符开始寻找一个文件
ii. $winPath="C:\\Appserv\\www\\index.php"; 属于windows当中的绝对路径格式,从一个根盘符【C盘、E盘、D盘、F盘】开始寻找某一个文件,注意:因为反斜线具有转义的含义,因此,反斜线格式的路径需要使用反斜线再次转移!
iii. $winPath2="C:/Appserv/www/index.php"; 属于windows当中的绝对路径格式,其他同上!
d) 操作路径的相关函数:
i. Basename:可以获取一个路径当中的文件名的部分
ii. Dirname():可以获取一个路径当中的除了文件名部分的路径信息
iii. Pathinfo():可以获取一个路径当中大部分信息的内容(路径信息、文件名、拓展名、没有拓展名的文件名)
五、 遍历目录:
a) 遍历目录,顾名思义,就是将一个服务器当中的指定目录当中的所有文件取出来,并执行一系列的操作!
b) 遍历目录四步骤:
i. 定义目录
ii. 打开目录
iii. 读取目录
iv. 关闭目录
c) 遍历目录四步骤详细内容:
i. 定义目录
1. $path = “目录名”;
ii. 打开目录
1. $resource = Opendir(“目录名”);
2. 注意:打开一个目录,会得到一个资源的信息
iii. 读取目录
1. 注意:读取出的内容第一次是一个点,代表了当前目录;第二次是两个点,代表了上一级目录
iv. 关闭目录
1. Closedir(“打开的资源”);
//遍历目录 //1.定义目录
$path = "./images"; //2.打开目录
$resource = opendir($path); //打开目录成功会获取到资源信息 //3.读取目录
while($file = readdir($resource)){ //过滤特殊目录[注意:一定要过滤.和..这个两个特殊目录!否则后果自负]
if($file=="." || $file==".."){
continue;
} //接下来可以执行响应的其他操作(获取目录文件的详细信息、删除该目录、赋值该目录、统计目录大小)!
var_dump($file);
} //4.关闭目录
closedir($resource); //结果
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '1.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '2.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '3.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '4.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '5.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '6.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string '7.jpg' (length=5)
D:\wamp\www\lamp183\lesson21_PHP13_file\2.php:19:string 'images' (length=6)
d) 操作目录的函数:
i. mkdir(目录名); 创建一个目录
ii. rmdir(目录名); 删除一个目录
iii. unlink(文件名); 删除一个文件
iv. copy(要复制谁,复制到哪[完整路径,包含文件名]);
【php】文件系统的更多相关文章
- .NET Core的文件系统[5]:扩展文件系统构建一个简易版“云盘”
FileProvider构建了一个抽象文件系统,作为它的两个具体实现,PhysicalFileProvider和EmbeddedFileProvider则分别为我们构建了一个物理文件系统和程序集内嵌文 ...
- Linux学习之探索文件系统
Linux,一起学习进步- ls With it, we can see directory contents and determine a variety of important file ...
- Linux之搭建自己的根文件系统
Hi!大家好,我是CrazyCatJack.又和大家见面了.今天给大家带来的是构建Linux下的根文件系统.希望大家看过之后都能构建出符合自己需求的根文件系统^_^ 1.内容概述 1.构造过程 今天给 ...
- 【架构设计】分布式文件系统 FastDFS的原理和安装使用
本文地址 分享提纲: 1.概述 2. 原理 3. 安装 4. 使用 5. 参考文档 1. 概述 1.1)[常见文件系统] Google了一下,流行的开源分布式文件系统有很多,介绍如下: -- mo ...
- .NET Core的文件系统[1]:读取并监控文件的变化
ASP.NET Core 具有很多针对文件读取的应用.比如我们倾向于采用JSON文件来定义配置,所以应用就会涉及针对配置文件读取.如果用户发送一个针对物理文件的HTTP请求,应用会根据指定的路径读取目 ...
- .NET Core的文件系统[2]:FileProvider是个什么东西?
在<读取并监控文件的变化>中,我们通过三个简单的实例演示从编程的角度对文件系统做了初步的体验,接下来我们继续从设计的角度来继续认识它.这个抽象的文件系统以目录的形式来组织文件,我们可以利用 ...
- .NET Core的文件系统[3]:由PhysicalFileProvider构建的物理文件系统
ASP.NET Core应用中使用得最多的还是具体的物理文件,比如配置文件.View文件以及网页上的静态文件,物理文件系统的抽象通过PhysicalFileProvider这个FileProvider ...
- .NET Core的文件系统[4]:由EmbeddedFileProvider构建的内嵌(资源)文件系统
一个物理文件可以直接作为资源内嵌到编译生成的程序集中.借助于EmbeddedFileProvider,我们可以统一的编程方式来读取内嵌于某个程序集中的资源文件,不过在这之前我们必须知道如何将一个项目文 ...
- Linux文件系统的实现
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux文件管理从用户的层面介绍了Linux管理文件的方式.Linux有一个树状 ...
- Node.js:fs文件系统模块
fs文件系统模块,这是一个非常重要的模块,对文件的操作都基于它.该模块的所有方法都有同步和异步两种方式,下面便介绍一下该模块的使用. 1.检测当前进程对文件的权限 使用fs.access(path[, ...
随机推荐
- Matplotlib数据可视化(7):图片展示与保存
In [1]: import os import matplotlib.image as mpimg from PIL import Image import matplotlib.pyplot as ...
- 阿里云centos安装oracle
目录 阿里云centos安装oracle 阿里云默认没有swap分区,oracle安装需要 安装Oracle所需的依赖包 创建用户和组 关闭SELINUX(阿里云缺省关闭) 开始安装 使用" ...
- js 数组 方法
instanceof 检测一个对象是否是数组;(用来对付复杂数据类型;)// 简单数据类型 typeof ;A instanceof B // A是不是B造出来的;例: var arr = [1,2, ...
- (转)const的内部链接属性(C++中适用)
转载自:http://xiangwangfeng.com/2011/05/02/const%E7%9A%84%E5%86%85%E9%83%A8%E9%93%BE%E6%8E%A5%E5%B1%9E% ...
- 会话(cookie的使用,路径和Session的工作原理,使用)
1.状态管理----Cookie 1.1 为什么需要状态管理 HTTP协议是无状态的,不能保存每次提交的信息,即当服务器返回与请求相对应的应答之后,这次事务的所有信息就丢掉了. 如果用户发来一个新的请 ...
- 如何从零基础开始学习LoadRunner12(一)
如何从零基础开始学习LoadRunner12(一) 上一篇文章讲到了如何安装LR12的教程,这一篇文章来讲一下怎么利用LoadRunner自带的Sample来学习LoadRunner的基本使用. 首先 ...
- python ndarray与pandas series相互转换,ndarray与dataframe相互转换
https://blog.csdn.net/qq_33873431/article/details/98077676
- java实现小功能
// 自写逻辑,遍历所有匹配的子字符串坐标 private static void forMatchIdx(String str1, String str2) { char[] arr1 = str1 ...
- java后台调用文件上传接口
借鉴:https://blog.csdn.net/yjclsx/article/details/70675057 /** * 调用流程上传文件接口上传文件 * @param url * @param ...
- Linux常用的命令收藏
摘要 Linux现在已经是大部分草根站长不可缺少的一部分,想要维护好你的网站就必须懂得常用的linux命令,这个可以加快你对服务器的维护,运营:同时Linux在嵌入式系统开发中有不可替代的优势,越来越 ...