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程序设计有所帮助。

(0)

相关推荐

  • PHP常用技术文之文件操作和目录操作总结

    一.基本文件的操作 文件的基本操作有:文件判断.目录判断.文件大小.读写性判断.存在性判断及文件时间等 <?php header("content-type","text/html;charset=utf-8"); /* *声明一个函数,传入文件名获取文件属性 *@param string $fileName 文件名称 */ function getFilePro($fileName) { if(!file_exists($fileName)) { echo

  • PHP目录操作实例总结

    本文实例总结了PHP目录操作方法.分享给大家供大家参考,具体如下: 目录操作 新建目录:mkdir(路径,权限,递归创建) 删除目录:rmdir() 移动(改名):rename() 获取目录内容: //打开目录 目录句柄 = opendir() //读取目录 文件名 = readdir(目录句柄) 依次读取文件名,同时向下移动文件句柄指针,读取不到则返回false //关闭目录 closedir() 递归读取目录内容: <?php showDir('../../file'); function

  • PHP面试题之文件目录操作

    这道题其实并不难,考点主要在函数substr() strrchr()  array_pop()  strrpos() strpos() strrev() explode()  pathinfo(). 废话不多说了,直接给大家贴代码了. 获取文件后缀,遍历目录层次 /** * 5种方式获取文件后缀名 * 这道题其实就是考函数substr() strrchr() array_pop() strrpos() strpos() strrev() explode() pathinfo() * @param

  • 第六章 php目录与文件操作

    一.目录操作 basename -- 返回路径中的文件名部分 dirname -- 返回路径中的目录部分 pathinfo -- 返回文件路径的信息 realpath -- 返回规范化的绝对路径名 复制代码 代码如下: <?php $path = 'demo1.php'; $path = realpath($path); echo basename($path); echo '<br>'; echo dirname($path); echo '<br>'; $array_pa

  • PHP中文件读、写、删的操作(PHP中对文件和目录操作)

    一:目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出: 复制代码 代码如下: <?php $base_dir = "filelist/"; $fso = opendir($base_dir); echo $base_dir."<hr/>" ; while($flist=readdir($fso)){ echo $flist."<br/&

  • php目录操作函数之获取目录与文件的类型

    复制代码 代码如下: <?php $dir = "./"; // Open a known directory, and proceed to read its contents if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { echo "filename: $file : filetype: " . filetype($dir

  • php目录操作实例代码

    复制代码 代码如下: <?php     /**    * listdir    */    header("content-type:text/html;charset=utf-8"); $dirname = "./final/factapplication"; function listdir($dirname) {        $ds = opendir($dirname);        while (false !== ($file = readd

  • php中目录,文件操作详谈

    一.引论 在任何计算机设备中,文件是都是必须的对象,而在web编程中,文件的操作一直是web程序员的头疼的地方,而,文件的操作在cms系统中这是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把php中的这些函数做一详细总结并实例示范如何使用.,关于对应的函数详细介绍,请查阅php手册.此处只总结重点.和需要注意的地方.(这在php手册是没有的.) 二.目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是

  • PHP 创建文件(文件夹)以及目录操作代码

    一.目录操作 首先是从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出: 复制代码 代码如下: <?php $base_dir="filelist/"; $fso=opendir($base_dir); echo $base_dir."<hr/>"; while($flist=readdir($fso)){ echo $flist."<br/>";

  • PHP文件操作之获取目录下文件与计算相对路径的方法

    获取目录下文件 1.获取目录下文件,不包括子目录 //获取某目录下所有文件.目录名(不包括子目录下文件.目录名) $handler = opendir($dir); while (($filename = readdir($handler)) !== false) {//务必使用!==,防止目录下出现类似文件名"0"等情况 if ($filename != "." && $filename != "..") { $files[]

  • php文件夹与文件目录操作函数介绍

    php文件夹操作函数 string basename ( string path [, string suffix] )给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名.如果文件名是以 suffix 结束的,那这一部分也会被去掉.在 Windows 中,斜线(/)和反斜线()都可以用作目录分隔符.在其它环境下是斜线(/). string dirname ( string path ) 给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名.在 Windows

随机推荐