PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
更新时间:2016年9月18日 10:11 点击:1936
本文实例总结了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程序设计有所帮助。
相关文章
- 这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
- PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
- index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04- 这篇文章主要介绍了PHP编程 SSO详细介绍及简单实例的相关资料,这里介绍了三种模式跨子域单点登陆、完全跨单点域登陆、站群共享身份认证,需要的朋友可以参考下...2017-01-25
- 这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
- 这篇文章主要介绍了smartupload实现文件上传时获取表单数据的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2017-01-09
- 这篇文章主要为大家详细介绍了php微信公众账号开发之五个坑,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-10-02
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
首先是数据库的设计。分类表叫cate.我做的是分类数据的二级联动,数据需要的字段有:id,name(中文名),pid(父id). 父id的设置: 若数据没有上一级,则父id为0,若有上级,则父id为上一级的id。数据库有内容后,就可以开始写代码,进...2014-05-31- 这篇文章主要介绍了PHP如何通过date() 函数格式化显示时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-11-13
- 今天我给大家分享的是在不刷新页面的前提下,使用PHP+jQuery+Ajax实现多图片上传的效果。用户只需要点击选择要上传的图片,然后图片自动上传到服务器上并展示在页面上。...2015-03-15
- 这篇文章主要介绍了golang与php实现计算两个经纬度之间距离的方法,结合实例形式对比分析了Go语言与php进行经纬度计算的相关数学运算技巧,需要的朋友可以参考下...2016-07-29
- 这篇文章主要介绍了Node.js程序中的本地文件操作用法小结,作为运行在服务器端的JavaScript解释器,Node中自然拥有操作本地文件的方法,需要的朋友可以参考下...2016-03-09
- 这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11
- 经常看到有人踩在了PHP路径的坑上面了,感觉有必要来说说PHP中相对路径的一些坑,以及PHP中绝对路径的使用,下面一起来看看。 ...2016-08-24
- 这篇文章主要介绍了thinkPHP中多维数组的遍历方法,以简单实例形式分析了thinkPHP中foreach语句的使用技巧,需要的朋友可以参考下...2016-01-12
- 这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
- 这篇文章主要为大家详细介绍了php构造方法中析构方法在继承中的表现,感兴趣的小伙伴们可以参考一下...2016-04-15
- 这篇文章主要介绍了jQuery+PHP+MySQL实现无限级联效果的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-02-21
- 这篇文章主要为大家详细介绍了php图片添加文字水印实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2016-03-17