【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[, ...
随机推荐
- Asp.Net Core 2.0实现HttpResponse中繁切换
随笔背景:因为项目中有个简单的功能是需要实现中文简体到繁体的切换,数据库中存储的源数据都是中文简体的,为了省事就想着通过HttpHeader的方式来控制Api返回对应的繁体数据. 实现方式:通过Asp ...
- golang的sync.WaitGroup使用示例
下面一段代码 len(m) 不一定会打印为 10,为什么?.如果想要 len(m) 打印为 10,应该怎么修改代码? func main() { const N = 10 m := make(map[ ...
- 学妹问的Spring Bean常用配置,我用最通俗易懂的讲解让她学会了
你好呀,我是沉默王二,一枚有趣的程序员,写的文章一直充满灵气,力求清新脱俗.昨天跑去王府井的小米店订购了一台小米 10,说是一周之内能到货,但我还是忍不住今天就想见到她.见我茶不思饭不想的,老婆就劝我 ...
- R|tableone 快速绘制文章“表一”-基线特征三线表
首发于“生信补给站” :https://mp.weixin.qq.com/s/LJfgxbTqsp8egnQxEI0nJg 生物医学或其他研究论文中的“表一”多为基线特征的描述性统计.使用R单独进行统 ...
- call、apply和bind的学习
相似之处:1.都是用来改变函数的this对象的指向的.2.第一个参数都是this要指向的对象.3.都可以利用后续参数传参. var xw = { name : "小王",gend ...
- 【Python】Pyinstall打包不同尺寸ico制作
前言 最近工作之余在学习python,用Pyinstall打包exe的时候发现图标只能在任务栏或者大图的情况下出现,其他情况还是默认图标,,,!!!∑(゚Д゚ノ)ノ 分析 查资料是因为exe在不同情况 ...
- react 装 router - yarn add react-router-dom@next
react 装 router yarn add react-router-dom@next
- java第一次上机练习作业
1.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序.(知识点:变量和 运算符综合应用) int a = 5, b = 10; int temp; temp = a; a = b; b = ...
- F版本SpringCloud1—大白话为啥要有微服务?啥是微服务?SpringCloud为什么有那么多组件?
前言 为什么要有微服务呢? 什么是微服务? SpringCloud 中为什么会有那么多的组件? ...... 作为SpringCloud教程的第一篇,不讲解具体的技术使用,通过一个通俗易懂的小故事,来 ...
- 开源项目OEIP 游戏引擎与音视频多媒体(UE4/Unity3D)
现开源一个项目 OEIP 项目实现的功能Demo展示 这个项目演示了在UE4中,接入摄像机通过OEIP直接输出到UE4纹理上,并直接把UE4里的RenderTarget当做输入源通过OEIP里GPU管 ...