深圳市金黑网络技术有限公司始终坚持以用户需求为导向,提供安全、稳定、高效的产品和服务!
签到 · 搜索导航 · 服务热线 · 微信/手机:17817817816

深圳网站建设

查看: 374|回复: 0

php文件操作

[复制链接]

UID
1
贡献
844
金币
1540
主题
520
在线时间
333 小时
注册时间
2022-1-15
最后登录
2024-11-12
QQ
发表于 2022-11-24 15:22:49 | 374 | 0 | 显示全部楼层 |阅读模式
1、将字符串写入文件

  1. <?php
  2. $str="床前明月光,\r\n疑是地上霜。\r\n举头望明月,\r\n低头思故乡。";
  3. file_put_contents('./test.txt',$str);  //将字符串写到文本中
复制代码
小结:
1、 所有的“写”操作都是清空重写
2、在文本中换行是\r\n
  1. \r:回车   光标移动到当前行的最前面
  2. \n:换行        将光标下移动一行
  3. 按键盘的回车键做了两步,第一步将光标移动到当前行的最前面,第二步下移一行。
复制代码
3、\r\n是特殊字符,必须放在双引号内
2、将整个文件读入一个字符串
  1. //方法一:
  2. echo file_get_contents('./test.txt');   //将整个文件读入一个字符串
  3. //方法二:
  4. readfile('./test.txt');        //读取输出文件内容

  5. //注意:echo file_get_contents()==readfile()
复制代码
3、打开文件并操作
  1. fopen(地址,模式)        打开文件
  2. 模式:
  3. r:读                read
  4. w:写                 write
  5. a:追加        append
复制代码
例题:
  1. //3.1、打开文件写入
  2. /*
  3. $fp=fopen('./test.txt','w');    //打开文件返回文件指针(文件地址)
  4. //var_dump($fp);                //resource(3) of type (stream)
  5. for($i=1;$i<=10;$i++)
  6.         fputs($fp,'关关雎鸠'."\r\n");        //写一行
  7. fclose($fp);        //关闭文件
  8. */

  9. //3.2  打开文件读取
  10. /*
  11. $fp=fopen('./test.txt','r');        //打开文件读取
  12. while($line=fgets($fp)){
  13.         echo $line,'<br>';
  14. }
  15. */

  16. //3.3   打开文件追加
  17. $fp=fopen('./test.txt','a');        //打开文件追加
  18. fputs($fp,'在河之洲');                        //在文件末尾追加
复制代码
小结:
1、打开文件,返回文件指针(文件指针就是文件地址),资源类型
2、打开文件写、追加操作,如果文件不存在,就创建新的文件
3、打开文件读操作,文件不存在就报错
4、fputs()写一行,fgets()读一行,fclose()关闭文件
5、追加是在文件的末尾追加
4、是否是文件【is_file()】
  1. echo is_file('./test.txt')?'是文件':'不是文件';
复制代码
5、判断文件或文件夹是否存在【file_exists()】
  1. echo file_exists('./test.txt')?'文件存在':'文件不存在';
复制代码
6、删除文件【unlink】
  1. $path='./test.txt';
  2. if(file_exists($path)){                //文件存在
  3.         if(is_dir($path))                //如果是文件夹用rmdir()删除
  4.                 rmdir($path);
  5.         elseif(is_file($Path))        //如果是文件用unlink()删除
  6.                 unlink($path);
  7. }else{
  8.         echo '文件夹或文件不存在';
  9. }
复制代码
7、二进制读取【fread(文件指针,文件大小)】
文件的存储有两种:字符流和二进制流
二进制流的读取按文件大小来读的。
  1. $path='./face.jpg';
  2. $fp=fopen($path,'r');
  3. header('content-type:image/jpeg');        //告知浏览器下面的代码通过jpg图片方式解析
  4. echo fread($fp,filesize($path));        //二进制读取
复制代码
多学一招:file_get_contents()也可以进行二进制读取
  1. header('content-type:image/jpeg');
  2. echo file_get_contents('./face.jpg');
复制代码
小结:
1、文本流有明确的结束符,二进制流没有明确的结束符,通过文件大小判断文件是否读取完毕
2、file_get_contents()既可以进行字符流读取,也可以进行二进制读取。

楼主热帖

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

快速回复 返回顶部 返回列表