0

0

PHP常用的文件操作函数总结

王林

王林

发布时间:2024-04-03 14:52:14

|

1322人浏览过

|

来源于编程网

转载

php常用的文件操作函数总结

php小编柚子精心整理了PHP常用的文件操作函数总结,为广大PHP开发者提供了一份实用的文件操作函数参考指南。通过本文的总结,读者可以快速了解PHP中文件操作的各种常用函数,提高文件处理的效率和准确性。无论是对于初学者还是有一定开发经验的开发者,都能从文章中获得实用的技术知识和经验。

注:文件操作函数的行为受到 php.ini 中设置的影响。

当在 Unix 平台上规定路径时,正斜杠 (/) 用作目录分隔符。而在 windows 平台上,正斜杠 (/) 和反斜杠 () 均可使用。

1 :basename()

返回路径中的文件名。分为带扩展名和不带扩展名的。

立即学习PHP免费学习笔记(深入)”;

语法: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

第二个数字规定所有者的权限

方科网络ERP图文店
方科网络ERP图文店

方科网络ERP图文店II版为仿代码站独立研发的网络版ERP销售程序。本本版本为方科网络ERP图文店版的简化版,去除了部分不同用的功能,使得系统更加精炼实用。考虑到图文店的特殊情况,本系统并未制作出入库功能,而是将销售作为重头,使用本系统,可以有效解决大型图文店员工多,换班数量多,订单混杂不清的情况。下单、取件、结算分别记录操作人员,真正做到订单全程跟踪!无限用户级别,不同的用户级别可以设置不同的价

下载

第三个数字规定所有者所属的用户组的权限

第四个数字规定其他所有人的权限

可能的值(如需设置多个权限,请对下面的数字进行总计):

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速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2549

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1614

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1504

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

952

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1417

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1234

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1446

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1306

2023.11.13

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

9

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
jQuery 教程
jQuery 教程

共42课时 | 4.3万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 9.5万人学习

tp6+adminlte搭建通用后台
tp6+adminlte搭建通用后台

共39课时 | 5.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号