我是靠谱客的博主 包容铅笔,最近开发中收集的这篇文章主要介绍细说PHP(十)10.1 文件系统概述10.2 目录的基本操作10.3 文件的基本操作10.4 文件的上传与下载,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
第十章 文件系统处理
- 10.1 文件系统概述
- 10.1.1 文件类型
- 10.1.2 文件的属性
- 10.2 目录的基本操作
- 10.2.1 解析目录路径
- 10.2.2 遍历目录
- 10.2.3 统计目录大小
- 10.2.4 建立和删除目录
- 10.2.5 复制目录
- 10.3 文件的基本操作
- 10.3.1 文件的打开与关闭
- 10.3.2 写入文件
- 10.3.3 读取文件内容
- 10.3.4 访问远程文件
- 10.3.5 移动文件指针
- 10.3.6 文件锁定机制
- 10.3.7 文件的一些基本操作函数
- 10.4 文件的上传与下载
- 10.4.1 文件上传
- 10.4.2 处理多个文件上传
- 10.4.3 文件下载
10.1 文件系统概述
10.1.1 文件类型
文件类型 | 描 述 |
---|---|
Block | 块文件设备,如某个磁盘分区,软驱、光驱CD-ROM等 |
Char | 字符设备,指在I/O传输过程中以字符为单位进行传输的设备,如键盘,打印机的等 |
Dir | 目录类型,目录也是文件的一种 |
Fifo | 命名管道,常用于将信息从一个进程传递到另一个进程 |
File | 普通文件类型,如文本文件或可执行文件等 |
Link | 符号链接,是指向文件指针的指针,类似Windows中的快捷方式 |
Unknow | 未知类型 |
10.1.2 文件的属性
函数名 | 作用 | 参数 | 返回值 |
---|---|---|---|
file_exists() | 检查文件或目录是否存在 | 文件名 | 文件存在返回true,否则返回false |
filesize() | 取得文件大小 | 文件名 | 返回文件大小的字节数,出错返回false |
is_readable() | 判断给定文件名是否可读 | 文件名 | 如果文件存在且可读返回true |
is_writable() | 判断给定文件名是否可写 | 文件名 | 如果文件存在且可读写返回true |
is_executable() | 判断给定文件名是否可执行 | 文件名 | 如果文件存在且可执行返回true |
filectime() | 获取文件创建时间 | 文件名 | 返回UNIX时间戳 |
filemtime() | 获取文件修改时间 | 文件名 | 返回UNIX时间戳 |
fileatime() | 获取文件访问时间 | 文件名 | 返回UNIX时间戳 |
stat() | 获取文件大部分属性值 | 文件名 | 返回关于给定文件有用信息的数组 |
10.2 目录的基本操作
10.2.1 解析目录路径
- basename() 返回路径中文件名部分
- dirname() 返回一个包含有指向一个文件的全路径的字符串
- pathinfo() 返回一个关联数组,包括路径中的目录名,基本名和扩展名
10.2.2 遍历目录
函数 | 作用 | 参数 | 返回值 |
---|---|---|---|
opendir() | 打开指定目录 | 目录的路径及目录名 | 目录句柄(资源类型) |
readdr() | 读取指定目录 | 目录句柄 | 目录指针位置的一个文件名,并将目录指针后移一位,当指针处于目录结尾时,返回FALSE |
closedir() | 关闭目录 | 目录句柄 | 无返回值,运行后将关闭打开目录 |
rewinddir() | 倒回目录句柄 | 目录句柄 | 将目录指针重置到开始处,即倒回目录的开头 |
10.2.3 统计目录大小
10.2.4 建立和删除目录
函数 | 作用 |
---|---|
mkdir() | 创建目录 |
rmdir() | 删除目录(必须是空目录) |
unlink() | 删除文件 |
10.2.5 复制目录
10.3 文件的基本操作
10.3.1 文件的打开与关闭
1.fopen()
resource fopen ( string filename, string mode [,bool use_include_path [, resource zcontext]])
- 第一个参数为被打开文件的URL
- 第二个参数为文件模式
- 第三个参数为是否使用include_path中指定的路径
- 第四个参数为协议名称
模式字符 | 描述 |
---|---|
r | 只读方式打开,从文件头开始读 |
r+ | 读写方式打开文件,从文件头开始读写 |
w | 只写方式打开文件,从文件头开始写 |
w+ | 读写方式打开文件,从文件开头开始写 |
x | 创建并以写入方式打开,将文件指针指向文件头 |
x+ | 创建并以读写方式打开,将文件指针指向文件头 |
a | 写入方式打开,并将文件指针指向文件末尾 |
a+ | 写入方式打开,并将文件指针指向末尾 |
b | 以二进制模式打开文件,用于与其他模式进行连接 |
t | 以文本模式打开文件 |
2.fclose()
关闭文件,一旦完成资源的处理,一定要将其关闭,否则可能会出现一些预料不到的错误
10.3.2 写入文件
int fwrite(resource handle,string string [,int length])
- 第一个参数需提供fopen()函数打开的文件资源
- 第二个参数为写入文件的字符串
- 第三个参数为指定写入的字符串长度
10.3.3 读取文件内容
函数 | 描述 |
---|---|
fread() | 读取打开的文件 |
file_get_contents() | 将文件读入字符串 |
fgets() | 从打开的文件中返回一行 |
fgetc() | 从打开的文件中返回字符 |
file() | 把文件读入一个数组中 |
readfile() | 读取一个文件,并输出到缓冲 |
10.3.4 访问远程文件
- 必须激活PHO的"allow_url_fopen"选项才能使用fopen()打开远程文件
- 文件名为"scheme://的格式"
- 为避免超时,可使用set_time_limit()对程序运行时间加以限制
10.3.5 移动文件指针
函数 | 描述 |
---|---|
ftell | 返回文件指针的当前位置 |
fseek | 移动文件指针到指定的位置 |
rewind | 移动文件指针到文件的开头 |
10.3.6 文件锁定机制
当一个进程在访问文件时加上锁,其它进程想要对该文件进行访问,则必须等到锁定被释放以后。这样就可以避免在并发访问同一个文件时破坏数据
bool flock( int handle,int operation [,int & wouldblock])
10.3.7 文件的一些基本操作函数
函数 | 语法结构 | 描述 |
---|---|---|
copy() | copy(来源文件,目的文件) | 复制文件 |
unlink() | unlink(目标文件) | 删除文件 |
fruncate() | fruncate(目标文件资源,截取长度) | 将文件截断到指定的长度 |
rename() | rename(旧文件名,新文件名) | 重命名文件或目录 |
10.4 文件的上传与下载
10.4.1 文件上传
1.客户端上传设置
2.在服务器端通过PHP处理文件
- PHP配置文件中与文件上传有关的选项
指令名 | 默认值 | 功能描述 |
---|---|---|
file_uploads | ON | 确定服务器上的PHP脚本是否可以接受HTTP文件上传 |
upload_max_filesize | 2M | 限制PHP处理上传文件大小的最大值 |
post_max_size | 8M | 限制通过POST方法可以接受信息的最大值 |
upload_tmp_dir | NULL | 上传文件存放的临时路径 |
10.4.2 处理多个文件上传
10.4.3 文件下载
最后
以上就是包容铅笔为你收集整理的细说PHP(十)10.1 文件系统概述10.2 目录的基本操作10.3 文件的基本操作10.4 文件的上传与下载的全部内容,希望文章能够帮你解决细说PHP(十)10.1 文件系统概述10.2 目录的基本操作10.3 文件的基本操作10.4 文件的上传与下载所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复