PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)

5年以前  |  阅读数:386 次  |  编程语言:PHP 

本文实例总结了PHP目录与文件操作技巧。分享给大家供大家参考,具体如下:

Demo1.php


    <?php
      //将一个路径赋给一个变量
      //它目前来说,只是一个字符串,字符串表示的是一个目录的路径
      //文件名包含,文件的名称 + 文件的扩展名(就是.后面的文件类型)
      //文件的扩展名说白了就是文件后缀
      $path = 'C:\AppServ\www\Basic6\Demo1.php';
    // echo basename($path);
    // echo '<br/>';
    // //dirname -- 返回路径中的目录部分
    // //dirname 返回路径的目录部分
    // echo dirname($path);
    // echo '<br/>';
    // //获取路径文件的信息
    // print_r(pathinfo($path));
      $array_path = pathinfo($path);
      echo $array_path['dirname']; //这个打印出的目录 C:\AppServ\www\Basic6
      echo $array_path['basename']; //这个打印出的是文件名 Demo1.php
    ?>

Demo2.php


    <?php
      //这个叫做绝对路径
      //$path = 'C:\AppServ\www\Basic6\Demo2.php';
      //这个叫做相对路径
    // $path = 'Demo2.php';
    // echo $path;
      $path = '../index.php'; //这也是相对路径
      echo realpath($path);
    ?>

Demo3.php


    <?php
      $path = 'C:\AppServ\www\Basic6\Demo3.php';
      echo round(filesize($path)/1024,2).'KB';
    ?>

Demo4.php


    <?php
      //可用空间的查看 disk_free_space
      echo round(disk_free_space('C:')/1024/1024/1024,2).'GB';
      echo '<br/>';
      //总空间
      echo round(disk_total_space('C:')/1024/1024/1024,2).'GB';
    ?>

Demo5.php


    <?php
      $path = 'C:\AppServ\www\Basic1\Demo1.php';
      //我们要做的是将这个时间戳翻译成正常的日期
      //echo fileatime($path);
      //调整一下时区
      date_default_timezone_set('Asia/Shanghai');
      //格式化一个本地日期
      //echo date('Y-m-d H:i:s');
      //fileatime -- 取得文件的上次访问时间
      echo '最后访问:'.date('Y-m-d H:i:s',fileatime($path)).'<br/>';
      //filectime -- 取得文件的 inode 修改时间,文件所有者,权限
      echo '权限所有者等:'.date('Y-m-d H:i:s',filectime($path)).'<br/>';
      //filemtime -- 取得文件修改时间,文件里面的内容修改后的时间
      echo '内容修改时间:'.date('Y-m-d H:i:s',filemtime($path));
    ?>

Demo6.php


    <?php
      //打开一个文件
      //第一参数表明哪个文件 ,第二参数表明模式, w 只写
      //w 如果,file.txt 已经有了,并且有数据了。那么这个文件,重新创建
      //如果没有 file.txt 这个文件,那么我就自行创建
    // //fopen -- 打开文件或者 URL
    // //fopen 返回的是资源类型 resource,我们一般称它为句柄,或者叫资源句柄
    // $fp = fopen('file.txt','w');
    //
    // //想文件里写入一些数据
    // //fwrite($fp,"阅谁问君诵,水落清香浮。");
    //
    // $outString = "阅谁问君诵,水落清香浮。";
    // echo strlen($outString);//获取长度
    // fwrite($fp,$outString,strlen($outString));
    //
    // //fclose -- 关闭一个已打开的文件指针
    // //当打开一个文件的时候,习惯性的将它关闭掉
    // fclose($fp);
      //就只有一句话,不需要任何其他灵活的事情的使用
      //这个比较在行,只有在 PHP5 的版本才可以使用
      file_put_contents('file2.txt','阅谁问君诵,水落清香浮。');
    ?>

Demo7.php


    <?php
      //第一种写法
      //\r\n 可以让文本文件换行
      $fp = fopen('file.txt','a');
      $outString = "阅谁问君诵,\r\n水落清香浮。\r\n";
      fwrite($fp,$outString,strlen($outString));
      fclose($fp);
      //第二种写法
    // file_put_contents('file2.txt','阅谁问君诵,\r\n水落清香浮。');
    ?>

Demo8.php


    <?php
      //现在要读出文件
      $fp = fopen('file.txt','r');
      //fgetc -- 从文件指针中读取字符
    // echo fgetc($fp);
    // echo fgetc($fp);
    // echo fgetc($fp);
    // echo fgetc($fp); //阅谁
      //fgets -- 从文件指针中读取一行
      //fread() 从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。
      //echo fgets($fp,20);
      //可以过滤HTML
      //echo fgetss($fp,20);
      //echo fread($fp,2);
      //fread() 从 handle 指向的文件中读取最多 length 个字节数
      //echo fread($fp,30);
      //fpassthru -- 输出文件指针处的所有剩余数据
      //fpassthru 本身还包含了向浏览器输出的功能,所以不需要 echo
      echo fpassthru($fp);
      fclose($fp);
    ?>

Demo9.php


    <?php
      //file -- 把整个文件读入一个数组中
      //file 是按照每行来分组存放在一个数组中
      //print_r(file('file.txt'));
      //而这个打印出的是文件中的第二行。
    // $array_file = file('file.txt');
    // echo $array_file[4];
      //readfile -- 输出一个文件
      //readfile 是将整个文件读出来,readfile 本身能够直接输入浏览器,所以不需要 echo
      //返回值是文件字节的总长度
      //echo readfile('file.txt');
      //file_get_contents -- 将整个文件读入一个字符串
      //file_get_contents 可以读入数据到缓冲区,然后通过 echo 来打印
      echo file_get_contents('file.txt');
    ?>

Demo10.php


    <?php
      //现在要读出文件
      $fp = fopen('file.txt','r');
      //feof -- 测试文件指针是否到了文件结束的位置
      while (!feof($fp)){
        echo fgetc($fp);
      }
      fclose($fp);
    ?>

Demo11.php


    <?php
      //比如读取一个文件的时候,你必须保证这个文件一定要存在,才可以操作
      //否则就报错,不让执行
      //这个时候就有必须做一个检测
      //file_exists -- 检查文件或目录是否存在
      if(file_exists('file.txt')){
        echo '执行各种各样的文本读写操作!';
      }else{
        echo '此本文不存在,请管理员在后台重新生成一下。';
      }
    ?>

Demo12.php


    <?php
      //文本大小,字节
      //echo filesize('file.txt');
      //删除一个文件
      //unlink('a.txt');
      //rewind -- 倒回文件指针的位置
      //ftell -- 返回文件指针读/写的位置
      //rewind -- 倒回文件指针的位置
      //a 表示可以追加,b 表示二进制,这样可移植性好
      //w
      $fp = fopen('file.txt','ab');
    // echo fgetc($fp);
    // echo fgetc($fp);
    // echo fgetc($fp);
    // echo fgetc($fp);
    // rewind($fp);
    // echo ftell($fp);
    // fseek($fp,20);
    // echo ftell($fp);
    // echo fgetc($fp);
    // echo fgetc($fp);
      flock($fp,LOCK_EX);//锁定
      fwrite($fp,'This is lock!');
      flock($fp,LOCK_UN);//解锁
      fclose($fp);
    ?>

Demo13.php


    <?php
    // //打开一个目录
    // @$dir = opendir('C:\AppServ\www\Basic6');
    // //读出目录,使用一个循环来读出
    // //readdir -- 从目录句柄中读取条目
    // //字符串如果是布尔值,就是说,字符串不为空,那么就是真,为空就是假
    // while (!!$file = readdir($dir)){
    //   echo $file.'<br/>';
    // }
    // //关闭
    // @closedir($dir);
      //print_r(scandir('C:\AppServ\www\Basic6'));
      //删除一个目录
    // //绝对路径的删除目录
    // rmdir('C:\AppServ\www\Basic6\delMe');
    // //相对路径的删除目录
    // rmdir('delMe');
      //删除一个文件
      //ssunlink('file2.txt');
      //重命名,这里,目录和文件都能改
      //rename('file.txt','file2.txt');
    ?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP目录操作技巧汇总》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例