首页 > 语言 > PHP > 正文

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

2024-05-04 23:49:40
字体:
来源:转载
供稿:网友

本文实例总结了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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选