其他分享
首页 > 其他分享> > 11.文件处理

11.文件处理

作者:互联网

文件处理

1. 文件系统的相关操作

  1. 什么是文件操作系统
  1. 与文件相关的函数

(PS: ./ : 当前目录; ../ : 上一级目录 / : 下一级目录)

  1. 创建文件: touch() (如果文件不存在则会创建文件,如果存在则会更新修改时间)

    image-20220415190950815

    1. **复制文件: ** copy('原路径', '目标路径')

    image-20220415191917454

  2. 移动文件 重命名: rename()

    // 重命名
    rename('./oldname.txt', './newname.txt');
    // 移动
    rename('./oldname.txt', '../oldname.txt');
    

    image-20220415193024564

    1. 删除文件: unlink()

    image-20220415193143745

  3. 获取文件大小: filesize()

    image-20220415194106774

  4. 判断是否是文件: is_file()

    image-20220415194357607

  5. 判断文件或目录是否存在 : file_exists()

    image-20220415194750103

  6. 文件是否可执行 is_executable()

  7. 文件是否可读is_readable()

  8. 文件是否可读写is_writable()

  9. 获取文件创建时间filectime()

    image-20220415223135586

  10. 获取文件修改时间filemtime()

    image-20220415223250244

  11. 获取文件上次访问的时间fileatime()

    image-20220415223357875

  12. 打开文件 fopen()

 fopen();
 // @paramt1 要代开的文件位置
 // @parmat2 打开的方式
 // 返回值: 资源 resource 
 // fopen() 将文件资源绑定到一个流上。 
  1. 读取文件 fread()

一个汉字占三字节

 fread();
 // 他会保留上次读取的位置,下次再从那里读
 // 要'打开'文件获得资源流
 // @paramt1 读取的资源流
 // @paramt2 要读取的字节数
 // 返回值 返回读到的内容,如果读到最后返回空字符串
  1. 测试文件指针是否到了结尾 feof()

image-20220415230146688

freadfeof结合读取文件

 // 先打开文件
 $file = fopen('./te1xt.txt', 'r');
 // 定义一个用来接收结果
 $count= '';
 // 根据指针判断是否到结尾
 while(!feof($file)){
     // 拼接字符串
     $count .= fread($file, 1);
 };
 echo $count;
  1. 读取文件的一行 fgets()

image-20220415231610068

 // 先打开文件
 $file = fopen('./te1xt.txt', 'r');
 // 根据指针判断是否到结尾
 while (!feof($file)) {
     // 一行一行拼接
     // 浏览器中只有<br/>标签可以换行
     echo fgets($file) . '<br/>';  // 手动换行用于看出每行
 };
 fclose($file);
  1. 关闭文件 fcloce()

关闭是为了节省资源

 // @parma1 要关闭的资源
  1. 打开---读取---关闭 一步到位 file_get_contents(要操作的文件)

返回值 : 将整个文件读入一个字符串

  1. **写入文件 fwrite() **

    • 需要配合 fopen()使用

    • fopen()的第二个参数为 w 时为覆盖

    • fopen()的第二个参数为 a时为追加

    • image-20220416204810248

    • image-20220416205559202

    • @parmat1 要写入的资源

    • @parmat2 要写入的内容

    • 返回值 写入的字节数(int类型)

      // 打开文件
      $file = fopen('./b.txt', 'w');  // w 写入文件的方式 如果文件存不存在,则会自动创建
      // 写入文件 
      fwrite($file, 'Hello Worlod');
      // 关闭文件
      fclose($file);
      
19. **写入文件一步到位 `file_put_sontents()`**

image-20220416204209740

当第三个可选参数flags为FILE_APPEND 的时候为追加数据而不是覆盖

image-20220416204336552

  1. 文件的读写锁 flock()

2. 生成器yield

标签:11,文件,txt,读取,处理,file,fopen,feof
来源: https://www.cnblogs.com/varfa/p/16154373.html