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 :realpath()
- 18 :rename()
- 19 :tempnam()
- 20 :tmpfile()
- 21:unlink()
- 22 :chmod()
- 23:chown()
- 24:chgrp()
php小编柚子精心整理了PHP常用的文件操作函数总结,为广大PHP开发者提供了一份实用的文件操作函数参考指南。通过本文的总结,读者可以快速了解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。
echo chgrp("test.txt","admin"); echo "
";以上就是PHP常用的文件操作函数总结的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!
<!--
-->
智能AI问答
每日运维网(www.mryunwei.com)智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。我要提问
相关标签:
php echo String NULL Resource 多维数组 fclose Directory 字符串 递归 bool int copy windows http unix
来源:编程网网
收藏
点赞上一篇:PHP中的运算符使用示例详细指南
下一篇:没有了
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn作者最新文章
-
深入理解C语言中*和&的不同功能2024-04-03 14:15:01
-
如何在Go语言中使用面量?2024-04-03 14:12:02
-
《蛋仔派对》流星雨时间2024-04-03 14:10:30
-
心渊梦境手游地图真名解放2024-04-03 14:10:19
-
《射雕》手游游侠任务怎么做2024-04-03 14:10:13
-
Go语言数据类型详解:基本数据类型概述2024-04-03 14:09:01
-
phpbugs代码审计基础详解2024-04-03 14:04:02
-
Phar反序列化超详细介绍2024-04-03 14:02:02
-
《射雕》画舫密室通关解密方法2024-04-03 13:58:22
-
龙之信条2巴达尔城怎么去2024-04-03 13:58:04
最新问题
当我尝试刷新“/login”的反应应用程序页面时它显示错误无法获取/登录
当我刷新链接/login的页面时,出现错误“无法获取/login”。我在Vercel上托管了React应用程序。下面是所附的屏幕截图。错误页面我的index.js文件代码是:con...
P粉819533564来自于2024-04-02 15:17:42
0
1
141
获取最新的一行数据
表格:任务:id(bigint)名称(varchar)。保存任务详细信息作业:id(varchar(UUID))task_id(bigint(类ID)),staus>(var...
P粉277464743来自于2024-04-02 15:27:20
0
1
186
获取列中最高值及其日期的检索
我在MySQL中编写了代码,以获取各个国家/地区的最高死亡值及其在MySQL中的报告日期。我能够获得最高的死亡值,但日期值返回错误。这是我的MySQL代码:SELECTd.coun...
P粉312195700来自于2024-04-02 15:26:37
0
1
230
尝试理解《Eloquent JavaScript》一书中代码片段的答案
这是EloquentJavaScript第3章中的代码片段。constpower=function(base,exponent){letresult=1;for(letcount=...
P粉986937457来自于2024-04-02 15:03:32
0
1
138
页面大于所需大小的问题; React.js
当前页面如下所示:正如您所看到的,顶部有很多空白区域。我似乎不知道如何让那个空白消失。这是HTML:<divclassName="auth-form-contain...
P粉166675898来自于2024-04-02 14:48:30
0
1
114
Javascript - Mocha Chai单元测试无法运行
我正在与前端Web开发课程训练营合作开展一个项目,不幸的是,我们的教授无法回答我的这个问题。我有一个简单的战争纸牌游戏,需要两名玩家,然后玩26个回合,看看谁赢了。在这个游戏中我有...
P粉964682904来自于2024-04-02 14:52:19
0
1
185
内在小孩的过渡之火
这是最小的可重现示例。“切换”悬停的过渡结束正在触发(我不想要)并过早隐藏“a”。要在转换结束后重现单击切换。我意识到这种情况正在发生,因为切换位于a内部(我无法更改它)。有没有办...
P粉274161593来自于2024-04-02 14:38:29
0
1
119
mongodb 中的错误:“Route.post() 需要一个回调函数,但收到了一个”
这是我的主文件index.jstypehereconstexpress=require("express");constapp=express();requir...
P粉242535777来自于2024-04-02 14:46:18
0
2
139
当我在 localhost 中键入文件夹名称时如何首先显示登录系统的语法
不知道语法是什么?我想要发生的是,当我输入localhost/farm-e-mart时,第一个文件应该显示登录系统。我怎样才能做到这一点?
P粉351138462来自于2024-04-02 14:32:52
0
2
195
在同一页面上的多个位置显示库存计数器
这个脚本作为股票倒计时效果很好,但我无法在同一页面上超过1个位置显示它。例如,同一页面上有4或5个产品/计划,每个产品显示的库存数量不同,并且数量变化的时间也不同。仅在1个产品上显...
P粉038161873来自于2024-04-02 14:25:38
0
2
258
相关专题
更多>
-
php文件怎么打开 -
php怎么取出数组的前几个元素 -
php反序列化失败怎么办 -
php怎么连接mssql数据库 -
php连接mssql数据库的方法 -
html怎么上传 -
PHP出现乱码怎么解决 -
php怎么在浏览器运行
热门推荐
-
原生js实现addClass,removeClass,hasClass方法_javascript技巧 -
seo是怎么优化关键词的 -
一个五年的后端开发老鸟给新手的 12 条忠告 -
php编程基础培训内容是什么 -
Java后端开发:使用Java Topic Exchange进行API主题路由管理
热门教程
更多>
相关推荐
热门推荐
最新课程
-
jquery 基础视频教程
90560次学习
收藏
-
最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)
1373148次学习
收藏
-
独孤九贱(4)_PHP视频教程
1188823次学习
收藏
-
PHP实战天龙八部之仿爱奇艺电影网站
736966次学习
收藏
-
PHP入门视频教程之一周学会PHP
1439985次学习
收藏
-
ThinkPHP5实战之[教学管理系统]
696172次学习
收藏
-
Mock.js | Axios.js | Json | Ajax--十天精品课堂
170次学习
收藏
-
微信小程序开发之API篇
1455次学习
收藏
-
Webpack4.x---十天技能课堂
1978次学习
收藏
-
Bootstrap4.x---十天精品课堂
2293次学习
收藏
-
ECMAScript6 / ES6---十天技能课堂
2502次学习
收藏
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
-
[表单按钮] jQuery企业留言表单联系代码 -
[播放器特效] HTML5 MP3音乐盒播放特效 -
[菜单导航] HTML5炫酷粒子动画导航菜单特效 -
[表单按钮] jQuery可视化表单拖拽编辑代码 -
[播放器特效] VUE.JS仿酷狗音乐播放器代码 -
[html5特效] 经典html5推箱子小游戏 -
[图片特效] jQuery滚动添加或减少图片特效 -
[相册特效] CSS3个人相册封面悬停放大特效
-
[Bootstrap模板] 有机果蔬供应商网页模板 Bootstrap5 -
[后端模板] Bootstrap3多功能数据信息后台管理响应式网页模板-Novus -
[Bootstrap模板] 房产资源服务平台网页模板 Bootstrap5 -
[Bootstrap模板] 简约简历资料网页模板 Bootstrap4 -
[Bootstrap模板] bootstrap响应式宽屏图书教育网站模板-DREAMLIFE -
[后端模板] MAC风格响应式蓝色企业CMS后台管理系统模版 -
[后端模板] 响应式渐变大气后台管理系统网站模板-usinessbox -
[Bootstrap模板] 响应式蔬菜水果商店网站模板-Organio
-
[网站素材] 可爱的夏天元素矢量素材(EPS+PNG) -
[网站素材] 四个红的的 2023 毕业徽章矢量素材(AI+EPS+PNG) -
[网站素材] 唱歌的小鸟和装满花朵的推车设计春天banner矢量素材(AI+EPS) -
[网站素材] 金色的毕业帽矢量素材(EPS+PNG) -
[网站素材] 黑白风格的山脉图标矢量素材(EPS+PNG) -
[网站素材] 不同颜色披风和不同姿势的超级英雄剪影矢量素材(EPS+PNG) -
[网站素材] 扁平风格的植树节banner矢量素材(AI+EPS) -
[网站素材] 九个漫画风格的爆炸聊天气泡矢量素材(EPS+PNG)
-
[前端模板] 家居装潢清洁维修服务公司网站模板 -
[前端模板] 清新配色个人求职简历引导页模板 -
[前端模板] 设计师创意求职简历网页模板 -
[前端模板] 现代工程建筑公司网站模板 -
[前端模板] 教育服务机构响应式HTML5模板 -
[前端模板] 网上电子书店商城网站模板 -
[前端模板] IT技术解决互联网公司网站模板 -
[前端模板] 紫色风格外汇交易服务网站模板
-
关于我们
免责申明
意见反馈
讲师合作
广告合作
最新更新 - 每日运维网(www.mryunwei.com):公益在线php培训,帮助PHP学习者快速成长!
-
关注服务号
微信扫码
关注每日运维网(www.mryunwei.com)服务号
技术交流群
QQ扫码
加入技术交流群
app下载
扫描下载App
- 每日运维网(www.mryunwei.com)订阅号
- 每天精选资源文章推送
- 每日运维网(www.mryunwei.com)APP
- 随时随地碎片化学习
- 每日运维网(www.mryunwei.com)抖音号
- 发现有趣的
Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
<!--
登录每日运维网(www.mryunwei.com),和优秀的人一起学习!
全站2000+教程免费学
微信扫码登录
-->
精品班
技术支持
技术咨询
学习群
会员优惠
返回顶部