温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP常见的文件操作方式介绍

发布时间:2021-09-18 09:41:23 来源:亿速云 阅读:166 作者:chen 栏目:编程语言

这篇文章主要讲解了“PHP常见的文件操作方式介绍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP常见的文件操作方式介绍”吧!

1.打开文件

resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )  $handle = fopen(filename,mode)//打开文件,返回代表此文件的资源的句柄

文件名称可以使用相对路径或者绝对路径也可以使用网络协议模式,打开模式具有r\r+\w\w+\a\a+\x\x+\b

在操作二进制文件时如果没有指定 'b' 标记,可能会碰到一些奇怪的问题,包括坏掉的图片文件以及关于 \r\n 字符的奇怪问题。

为移植性考虑,强烈建议在用 fopen() 打开文件时总是使用 'b' 标记。

以下是几种打开文件的方式

$fp = @fopen('log.txt',"rb");  $fp = @fopen('../log.txt',"rb");  $fp = @fopen("http://www.runer.com.cn/default.htm","rb");//还可以使用ftp和ghoper等协议,必须启用php.ini文件中的allow_url_fopen选项
$filename1 = "userinfo.txt";//目录下或include_path中存在这个文件  $filename2 = "test.txt";//目录下或include_path并不存在这个文件  $resource1 = fopen($filename1,"rb");  @$resource2 = fopen($filename2,"rb");//因为目录中不存在这个文件,并且并未使用或include_path寻找包含文件所在路径则此操作会报错,使用错误抑制符@可以迫使浏览器不输出错误信息  if($resource1)  echo "打开文件{$filename1}成功";  if(!@fopen($filename2,"r"))  echo "打开文件{$filename2}不成功";

输出结果:打开文件userinfo.txt成功

2.使用完毕文件后,要显式的告诉PHP已经使用完文件,让操作系统确保将文件的所有内容正确地从缓冲区刷新到硬盘

使用fclose()关闭文件,

bool fclose ( resource handle )//关闭一个已打开的文件指针

3.读取文件,fopen函数的mode参数允许读取,PHP提供了几个函数从文件读取数据

string fgets ( int handle [, int length] )从文件指针中读取一行,在二进制文件上尝试fgets会产生不可预测的结果

如果不指定长度,默认读取1K数据,碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止

string fgetss ( resource handle [, int length [, string allowable_tags]] )从文件指针中读取一行并过滤掉 HTML 标记

fgetc()读取单个字符

fread()读取任意二进制数据

代码部分:

$handle = fopen ("test.jpg", "rb");  $c;  while (!feof($handle)) {  $contents .= @fread($handle, 8192);//循环读取并将其合并为一个大块文件  }  fclose($handle);

4.判断文件读取的状态

每个文件句柄都有一个文件指针,或者一个指出下一个操作将在文件中哪里发生的游标,根据fopen函数的mode参数

文件指针最初位于文件的开头(0),或者文件的末尾

feof()可以判断文件是否已经到末尾(到末尾后函数返回TRUE)

filesize()函数返回文件的大小 5.写入文件

fwrite()函数执行文件写入

代码部分:

$filename = 'test.txt';  $somec;   // 首先我们要确定文件存在并且可写。  if (is_writable($filename)) {  // 在这个例子里,我们将使用添加模式打开$filename,  // 因此,文件指针将会在文件的开头,  // 那就是当我们使用fwrite()的时候,$somecontent将要写入的地方。  if (!$handle = fopen($filename, 'a')) {  echo "不能打开文件 $filename";  exit;  }  // 将$somecontent写入到我们打开的文件中。  if (fwrite($handle, $somecontent) === FALSE) {  echo "不能写入到文件 $filename";  exit;  }  echo "成功地将 $somecontent 写入到文件$filename";  fclose($handle);  } else {  }  echo "文件 $filename 不可写";

输出结果:

成功地将 添加这些文字到文件 写入到文件test.txt

对于二进制数据,必须指定第三个参数,它包含写入到磁盘的数据字节数

$result = @fwrite($fp,$binary_data,mb_strlen($binary_data,'8bit'));

6.文件权限和其他信息

  • is_readable()//判断文件是否可读

  • is_writeable()//判断文件是否可写

  • is_writable()//判断文件是否可写

  • fileperms()//判断文件的权限(UNIX风格的文件权限测试函数)

  • file_exists()//是否存在这个文件

  • fileowner()//判断文件所属用户

  • filegroup()//判断文件所属组

7.删除和重命名文件

  • unlink()//删除文件

  • rename()//重命名文件

8.访问目录

目录访问建议使用前向斜线"/",兼容windows和unix系统

  • basename()//返回不包括路径信息的文件名

  • dirname()//返回文件名的目录部分

  • realpath()//接受相对路径,返回文件的绝对路径

  • pathinfo()//提取给定路径的目录名,基本文件名和扩展名

  • opendir()//打开目录,返回资源句柄

  • readdir()//读取目录项

  • rewinddir()//将读取指针返回开头

  • closedir()//关闭读取句柄

  • chdir()//改变当前脚本执行期间的当前工作目录

  • mkdir()//创建目录

  • rmdir()删除目录

感谢各位的阅读,以上就是“PHP常见的文件操作方式介绍”的内容了,经过本文的学习后,相信大家对PHP常见的文件操作方式介绍这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI