PHP—文件与目录操作
文件的基本操作
1、判断普通文件和目录
1.is_file()//判断给定文件名是否为一个正常的文件
2.is_dir()//判断给定文件名是否是一个目录
2、文件的属性
1.file_exists()//检查文件或目录是否存在
2.filesize()//取得普通文件大小
3.is_readable()//判断给定文件名是否可读
4.is_writable()//判断给定的文件名是否可写
5.filectime()//获取文件的创建时间
6.filemtime()//获取文件的修改时间
7.fileatime()//取得文件的上次访问时间
8.stat()//获取文件大部分属性值
3、目录的基本操作
1.basename()//返回路径中的文件名部分
2.dirname()//返回路径中的目录部分
3.pathinfo()//返回文件路径的信息
4.opendir()//打开目录句柄
5.readdir()//从目录句柄中读取条目,返回目录中下一个文件的文件名
6.rewinddir()//倒回目录句柄
7.closedir()//关闭目录句柄
8.mkdir()//新建目录
9.rmdir()//删除指定的空目录
10.scandir()//列出指定路径中的文件和目录
4、文件的基本操作
1.fopen()//打开文件或者 URL r只读 r+读写
2.fread()//读取文件
3.fgets()//从文件指针中读取一行
4.feof()//测试文件指针是否到了文件结束的位置
5.fwrite()//写入文件,返回写入的字节数
6.rewind()//倒回文件指针的位置
7.flock()//轻便的咨询文件锁定
8.ftruncate()//将文件截断到给定的长度
9.fclose()//关闭一个已打开的文件指针
10.file() //把整个文件读入一个数组中
11.copy()//拷贝文件
12.unlink()//删除文件
13.file_get_contents()//将整个文件读入一个字符串
14.file_put_contents()//将字符串写入文件中
15.rename()//重命名一个文件或目录
16.readfile()//读入一个文件并写入到输出缓冲
5、文件的上传
文件的上传的过程这些细节我们是不需要管的,都是自动的,上传的文件默认是放在一个临时的目录里面的,我们要做的就是把这些临时目录里面的文件移动到我们需要的地方就行啦!
1.html标签需要做的上传设置
(1) form标签属性设置
<1>method设置为post
<2>enctype设置为multipart/form-data
<3>form表单中设置隐藏类型的input,其中name值设置为MAX_FILE_SIZE,VALUE值设置为需要限制的上传文件的大小(单位为字节)
2.在服务器端通过PHP处理上传文件,涉及到下面的几条信息
(1)与上传有关的 php配置选项(php.ini)
配置项 可能值 功能描述
file_uploads ON 确定服务器上的PHP脚本是否可以接受HTTP文件上传
memory_limit 8M 设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存
upload_max_filesize 2M 限制PHP处理上传文件的最大值,此值必须小于post_max_size值
post_max_size 8M 限制通过POST方法可以接受的信息最大量
upload_tmp_dir F:/wamp/tmp 上传文件存放的临时路径,可以是一个绝对路径。这个目录对于拥有此服务器进程用户必须是可写的。
(2)$_FILES多维数组:用于存储各种与上传有关的信息
$_FILES[‘file’][‘name’] 客户端机器文件的原名称,包含扩展名
$_FILES[‘file’][‘size’] 已上传文件的大小,单位为字节
$_FILES[‘file’][‘tmp_name’] 文件上传之后,在服务器端存储的临时文件名
$_FILES[‘file’][‘error’] 文件上传时产生的错误
0:表示没有发生任何错误,文件上传成功
1:表示上传文件的大小超出了再PHP配置文件中upload_max_filesize选项限制的值
2:表示上传文件大小超出了HTML表单中MAX_FILE_SIZE选项所指定的值
3:表示文件只被部分上传
4:表示没有上传任何文件
$_FILES[‘file’][‘type’] 获取客户端上传文件的MIME类型,MIME类型规定了各种文件格式的类型。每种MIME类型都是由/分隔的主类型和子类型组成
(3)PHP的文件上传处理函数:用于上传文件的后续处理
<1>is_uploaded_file()判断指定的文件是否通过HTTP POST上传的 <2>move_uploaded_file()文件上传后,首先会存储于服务器的临时目录中,可以使用该函数将上传的文件移动到新位置
6、文件的下载:
-
发送指定的文件MIME类型的头信息:
header('Content-type:MIME类型');
-
指定下载文件的描述:
header('Content-Disposition:attachement;filename=文件名称');
-
指定下载文件的大小:
header('Content-Length:文件大小');
-
读取文件内容至输出缓冲区:
readfile();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下