PHP常用的文件操作函数总结
目录1:basename()2:copy()3:dirname()4:disk_free_space()5:disk_total_space()6:file_exists()7:file_get_contents()8:file_put_contents()9:filesize()10:filetype()11:glob()12:is_dir()13:is_writable()14:mkdir()15:move_uploaded_file()16:parse_ini_file()17:

目录
- 1 :basename()
- 2 :copy()
- 3 :dirname()
- 4 :disk_free_space()
- 5 :disk_total_space()
- 6 :file_exists()
- 7 :file_get_contents()
- 8 :file_put_contents()
- 9 :filesize()
- 10 :filetype()
- 11 :glob()
- 12 :is_dir()
- 13 :is_writable()
- 14 :mkdir()
- 15 :move_uploaded_file()
- 16 :parse_ini_file()
- 17 :realpath()
- 18 :rename()
- 19 :tempnam()
- 20 :tmpfile()
- 21:unlink()
- 22 :chmod()
- 23:chown()
- 24:chgrp()
常用PHP文件操作函数
注:文件操作函数的行为受到 php.ini 中设置的影响。
当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符。而在 windows 平台上,正斜杠 (/) 和反斜杠 () 均可使用。
1 :basename()
返回路径中的文件名。分为带扩展名和不带扩展名的。
语法:basename(path,suffix)
Path:必需。规定要检查的路径。
Suffix:可选。规定文件扩展名。如果文件有名有文件扩展名,将不会显示这个扩展名。
// basename $path = "/testWEB/home.php"; // 输出文件名,包含扩展名 echo basename($path) ."
";// home.php // 输出文件名,不包含扩展名 echo basename($path,".php");// home
2 :copy()
复制文件。该函数如果成功则返回 TRUE,如果失败则返回 FALSE。如果目标文件已存在,将会被覆盖。
语法:copy(file,to_file)
File:必需。规定要复制的文件。
to_file:必需。规定复制文件的目的地。
// 复制文件,返回值为bool
echo copy("source.txt","target.txt");
3 :dirname()
返回路径中的目录部分。
语法:dirname(path)
Path:必需。规定要检查的路径。
// 返回文件路径
echo dirname("c:/testweb/home.php")."
";// c:/testweb/
echo dirname("/testweb/home.php");// /testweb/
4 :disk_free_space()
返回目录的可用空间。,以字节为单位。
语法:disk_free_space(directory)
Directory:必需。规定要检查的目录。(该目录有限制)
// 返回指定目录的可用空间(查询的目录是有限制的)
echo disk_free_space("D:/wwwroot/xxx.com/");
5 :disk_total_space()
返回一个目录的磁盘总容量。返回字节数
语法:disk_total_space(directory)
Directory:必需。规定要检查的目录。
echo disk_total_space("C:/Windows/Temp/");
echo "
";
6 :file_exists()
检查文件或目录是否存在。返回bool值
语法:file_exists(path)
Path:必需。规定要检查的路径。
// 查看test.txt是否存在,返回bool值
echo file_exists("target.txt"); // 1
echo "
";
7 :file_get_contents()
将文件读入字符串。
语法:file_get_contents(path,include_path,context,start,max_length)
Path:必需。规定要读取的文件。
include_path:可选。如果您还想在 include_path(在 php.ini 中)中搜索文件的话,请设置该参数为 '1'。
Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 NULL,则忽略。
Start:可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 中新增的。
max_length:可选。规定读取的字节数。该参数是 PHP 5.1 中新增的。
// 读取文件
echo file_get_contents("target.txt");
echo "
";
提示: 该函数是二进制安全的。(意思是二进制数据(如图像)和字符数据都可以使用此函数写入。)
8 :file_put_contents()
将字符串写入文件。如果成功,该函数将返回写入文件中的字符数。如果失败,则返回 False。
语法:int file_put_contents ( string filename,mixedfilename , mixed filename,mixeddata [, int flags=0[,resourceflags = 0 [, resource flags=0[,resourcecontext ]] )
File:必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
Data:必需。规定要写入文件的数据。可以是字符串、数组或数据流。
Mode:可选。规定如何打开/写入文件。可能的值:FILE_USE_INCLUDE_PATH/FILE_APPEND/LOCK_EX
Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。
// 写入文件
echo file_put_contents("sites.txt","Runoob");
echo "
";
9 :filesize()
函数返回指定文件的大小。
如果成功,该函数返回文件大小的字节数。如果失败,则返回 FALSE。
语法:filesize(filename)
Filename:必需。规定要检查的文件。
// 返回文件大小
echo filesize("target.txt");
echo "
";
10 :filetype()
函数返回指定文件或目录的类型。
若成功,则返回 7 种可能的值。若失败,则返回 false。
语法:filetype(filename)
Filename:必需。规定要检查的文件。
// 返回文件类型
echo filetype("target.txt");
echo "
";
11 :glob()
返回一个包含匹配指定模式的文件名/目录的数组。
glob() 函数返回匹配指定模式的文件名或目录。
该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。
语法:glob(pattern,flags)
File:必需。规定检索模式。
Size:可选。规定特殊的设定。
- GLOB_MARK - 在每个返回的项目中加一个斜线
- GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
- GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
- GLOB_NOESCAPE - 反斜线不转义元字符
- GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
- GLOB_ONLYDIR - 仅返回与模式匹配的目录项
- GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误
注释:GLOB_ERR 是 PHP 5.1 添加的。
echo ""; var_dump(glob("*.*")); echo "
";12 :is_dir()
判断指定的文件名是否是一个目录。
语法:is_dir(file)
File:必需。规定要检查的文件。
$file = "D:/wwwroot/xxx.com/"; if(is_dir($file)) { echo ("$file is a directory"); } else { echo ("$file is not a directory"); } echo "
";13 :is_writable()
判断文件是否可写。如果文件存在并且可写则返回 true。
语法:is_writable(file)
File:必需。规定要检查的文件。
$file = "target.txt"; if(is_writable($file)) { echo ("$file is writeable"); } else { echo ("$file is not writeable"); } echo "
";14 :mkdir()
创建目录,如果成功该函数返回 TRUE,如果失败则返回 FALSE。
语法:
mkdir(path,mode,recursive,context)Path:必需。规定要创建的目录的名称。
Mode:可选。规定权限。默认是 0777(允许全局访问)。
mode 参数由四个数字组成:
第一个数字通常是 0
第二个数字规定所有者的权限
第三个数字规定所有者所属的用户组的权限
第四个数字规定其他所有人的权限
可能的值(如需设置多个权限,请对下面的数字进行总计):
1 = 执行权限
2 = 写权限
4 = 读权限
Recursive:可选。规定是否设置递归模式。(PHP 5 中新增的)
Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。(PHP 5 中新增的)
echo mkdir("testing"); echo "
";注释: mode 参数在 Windows 平台上被忽略。
15 :move_uploaded_file()
将上传的文件移动到新位置。若成功,则返回 true,否则返回 false。
文件上传的核心就是这个文件
语法:move_uploaded_file(file,newloc)
File:必需。规定要移动的文件。
Newloc:必需。规定文件的新位置。
注释:本函数仅用于通过 Http POST 上传的文件。
注意:如果目标文件已经存在,将会被覆盖。
16 :parse_ini_file()
函数解析一个配置文件(ini 文件),并以数组的形式返回其中的设置。
语法:
parse_ini_file(file,process_sections)File:必需。规定要检查的 ini 文件。
process_sections:可选。如果设置为 TRUE,则返回一个多维数组,包括了配置文件中每一节的名称和设置。默认是 FALSE。
echo ""; var_dump(parse_ini_file("test.ini")); echo "
";注:此ini文件不一定非的是php.ini,也可以是你自己的ini配置文件。
17 :realpath()
该函数删除所有符号连接(比如 '/./', '/../' 以及多余的 '/'),并返回绝对路径名。
如果失败,该函数返回 FALSE。
语法:realpath(path)
Path:必需。规定要检查的路径。
echo realpath("test.ini");
18 :rename()
rename() 函数重命名文件或目录。
如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
语法:
rename(oldname,newname,context)Oldname:必需。规定要重命名的文件或目录。
Newname:必需。规定文件或目录的新名称。
Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。
echo rename("test.ini","testss.ini"); echo "
";19 :tempnam()
创建唯一的临时文件。若成功,则该函数返回新的临时文件名。若失败,则返回 false。
语法:tempnam(dir,prefix)
Dir:必需。规定创建临时文件的目录。
Prefix:必需。规定文件名的开头。
echo tempnam("D:wwwrootxxx.com","TMP0"); echo "
";注: 此方法创建的文件,如果不再需要该文件则要删除此文件,不会自动删除的。
20 :tmpfile()
建立临时文件。此函数创建的临时文件会在文件关闭后(用 fclose())或当脚本结束后自动被删除。
语法:
tmpfile()$temp = tmpfile(); fwrite($temp, "Testing, testing."); // 将文件指针的位置倒回文件的开头。 rewind($temp); // 从文件中读取1K数据 echo fread($temp,1024); //This removes the file fclose($temp);21:unlink()
删除文件。如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
语法:unlink(filename,context)
Filename:必需。规定要删除的文件。
Context:可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。
// 如果没有text.txt文件,这样写输出的结果会报警告,测试代码,就这样了 // 实际用的时候,需要注意这个问题 $file = "test.txt"; if (!unlink($file)) { echo ("Error deleting $file"); } else { echo ("Deleted $file"); }22 :chmod()
改变文件权限。如果成功则返回 TRUE,如果失败则返回 FALSE。
语法:
chmod(file,mode)File:必需。规定要检查的文件。
Mode:必需。规定新的权限。
mode 参数由 4 个数字组成:
第一个数字通常是 0
第二个数字规定所有者的权限
第三个数字规定所有者所属的用户组的权限
第四个数字规定其他所有人的权限
可能的值(如需设置多个权限,请对下面的数字进行总计):
1 = 执行权限
2 = 写权限
4 = 读权限
echo chmod("target.txt",0600); echo "
";23:chown()
改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。
语法:
chown(file,owner)File:必需。规定要检查的文件。
Owner:必需。规定新的所有者。可以是用户名或用户的 ID。
echo chown("target.txt","root"); echo "
";24:chgrp()
改变文件组。如果成功则返回 TRUE,否则返回 FALSE。
语法:
chgrp(file,group)File:必需。规定要检查的文件。
Group:可选。规定新的组。可以是组名或组的 ID。
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.comecho chgrp("test.txt","admin"); echo "
";作者最新文章蚂蚁庄园1月18日:人们常用砸锅来形容事情没办成猜猜最早源于哪个行业 2026-09-24 16:59索尼WH-1000XM4C发布:复刻经典折叠设计并升级现代接口 2026-09-08 19:10python题库环境搭建与排错:从基础概念到命令验证 2026-09-05 09:32计算机二级python环境搭建与排错:从概念验证到依赖管理 2026-09-05 07:23Python 新手环境配置与最小可复现路径 2026-09-04 18:52热门文章 更多精品专题 更多Mac软件 更多
Postman macOS版Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop macOS版Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio macOS版Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
Xcode macOS版Xcode 是苹果面向 Mac 提供的官方集成开发环境,将代码编辑、项目构建、SwiftUI 实时预览、设备模拟、自动化测试、断点调试、性能分析和应用分发整合在同一套工作流中,适合开发与维护 iPhone、iPad、Mac、Apple Wa
JetBrains WebStorm macOS版JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。
PhpStorm macOS版PhpStorm 是 JetBrains 推出的专业 PHP 集成开发环境,可在 Mac 上完成代码编写、智能检查、重构、调试、测试和数据库管理。它支持主流 PHP 框架、Composer、Git、Docker 与远程解释器。
JetBrains PyCharm macOS版JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。
JetBrains IntelliJ IDEA macOS版IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。
Visual Studio Code macOS版Visual Studio Code 是微软提供的免费代码编辑器,支持 macOS,并为 Intel 与 Apple 芯片 Mac 提供适配版本。软件集代码编辑、调试、Git 源代码管理、集成终端和扩展市场于一体。
REAPER macOS版REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Adobe Audition macOS版Adobe Audition 是面向播客、影视后期、音乐制作及内容创作者的专业音频工作站,提供波形精修、多轨录制与混音、频谱编辑、降噪修复、响度匹配和效果处理工具,并可与 Adobe Premiere 协同完成视频声音制作。
Pro Tools macOS版Pro Tools 是 Avid 推出的专业数字音频工作站,覆盖多轨录音、无损剪辑、MIDI 编曲、插件处理、自动化混音及声音与画面同步等工作。它拥有 Intro、Artist、Studio 和 Ultimate 等方案。
WINDOWS 更多
Postman Windows版Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop Windows版Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。
Android Studio Windows版Android Studio 是 Google 面向 Android 应用开发提供的官方集成开发环境,以 IntelliJ IDEA 为基础,集成智能代码编辑、Gradle 构建、设备模拟、界面预览、调试测试及性能分析工具,
JetBrains WebStorm Windows版WebStorm 是 JetBrains 面向 JavaScript、TypeScript 和现代 Web 技术打造的集成开发环境。它提供项目级代码分析、智能补全、安全重构、导航搜索,并集成调试、测试、终端、Git 与常用前端工具,
JetBrains PhpStorm Windows版PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,
JetBrains PyCharm Windows版PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,
JetBrains IntelliJ IDEA Windows版JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,
Visual Studio Code Windows版Visual Studio Code 是微软推出的免费代码编辑器,Windows 版集成智能补全、代码导航、调试、终端和版本控制,并可通过扩展添加语言、格式化及远程开发能力。它启动较快、配置灵活,
REAPER Windows版REAPER 是 Cockos 推出的数字音频工作站,适用于录音、MIDI 编曲、音频编辑、混音、母带制作及声音设计。软件安装包小巧,支持多轨录制、灵活路由、自动化、第三方插件和脚本扩展,并提供完整功能的 60 天免费评估期。
Adobe Audition Windows版Adobe Audition 是面向播客、影视后期、广播与音乐制作的专业音频工作站,提供波形编辑、多轨混音、频谱分析、录音、降噪修复和效果处理等功能。Windows 版通过 Adobe Creative Cloud 安装和管理,
Pro Tools Windows版Pro Tools 是 Avid 推出的专业数字音频工作站,提供多轨录音、音频剪辑、MIDI编曲、插件处理、自动化混音及影视声音制作能力。它适合音乐人、录音师、制作人和音频后期团队使用,并提供免费入门版、订阅方案及永久授权选择。
Cubase Windows版Cubase 是 Steinberg 推出的数字音频工作站,提供 MIDI 编曲、多轨录音、音频编辑、虚拟乐器、效果处理、自动化、混音和母带输出工具。其 Pro、Artist 与 Elements 版本面向不同预算和制作规模,










































