《PHP编程最快明白》第五讲:php目录、文件操作


Posted in PHP onNovember 01, 2010

实例15 目录创建、删除

<?php 
$dirfile="文件夹"; 
$dirfile=iconv("UTF-8","GB2312",$dirfile);//转码,否则会看到windows里面是乱码,但程序能正常操作,读取目录时反过来才看到目录的真正名字。 
if(!file_exists($dirfile))//用于判断目录或文件是否存在 
mkdir($dirfile);//创建目录 
rmdir($dirfile);//删除目录,必须为空目录,否则要先删除里面的所有文件,后面有删除方法 
echo "<br>"; 
?>

实例16 文件创建、删除、读取、转数组
<?php 
$filename="文件.txt"; 
$filename=iconv("UTF-8","GB2312",$filename);//转码,否则会看到windows里面是乱码 
file_put_contents($filename,'');//自动创建空文件,如果已存在则删除再创建,具体可以增加file_exists判断,比fopen、fputs、fclose等函数简单。 
unlink($filename);//注意文件名都是GB2312编码 
file_put_contents($filename,"大家好!\r\n大家好啊!",FILE_APPEND); 
//看到没,写入两行, 第三个参数可选,表示是以增加方式写入,否则清空内容再写入 
echo file_get_contents($filename);//忽略换行读取整个文件 
echo "<br>"; 
$arr=file($filename);//文件按行读到数组里 
print_r($arr); 
echo "<br>"; 
readfile($filename);//文件直接输出到屏幕 
echo "<br>"; 
?>

实例17 获取url信息、客户端ip地址
<?php 
//获取域名或主机地址 
echo $_SERVER['HTTP_HOST']."<br>"; 
//获取网页地址(中间部分) 
echo $_SERVER['PHP_SELF']."<br>"; 
//获取网址参数(?后面部分) 
echo $_SERVER["QUERY_STRING"]."<br>"; 
//来源客户端ip地址 
if($_SERVER['HTTP_CLIENT_IP']){ 
$onlineip=$_SERVER['HTTP_CLIENT_IP']; 
}elseif($_SERVER['HTTP_X_FORWARDED_FOR']){ 
$onlineip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
}else{ 
$onlineip=$_SERVER['REMOTE_ADDR']; 
} 
echo $onlineip; 
echo "<br>"; 
?>

实例18 获取文件修改时间戳、遍历目录文件
<?php 
$filename="文件.txt"; 
$filename=iconv("UTF-8","GB2312",$filename); 
$passtime=time()-filectime($filename);//创建时间差,不准,一般不用 
echo $passtime; 
echo "<br>"; 
$passtime=time()-filemtime($filename);//修改时间差,用于更新判断,缓冲等判断 
echo $passtime; 
echo "<br>"; 
$dir="../"; 
print_r($arr=scandir($dir));//获得主目录的所有文件和文件夹名称 
foreach($arr as $value){ 
if (!is_dir($dir.$value)) //是否目录,目录还包括"."、".."两个数组,通过判断可以知道是文件还是目录,以及是什么类型的后序名 
echo iconv("GB2312","UTF-8",$value)."<br>\r\n"; 
} 
?>

实例19 文件包含
<?php 
$filename="文件.txt"; 
@include($filename);//包含到此处,然后由服务器处理成html代码。 
/* 
@表示读取不了时忽略错误警告,用于PHP语句、函数前,一般服务器端显示错误是关闭的,但是个别例外。除此之外,大家还可以try-catch捕捉异常,或者用file_exists函数先判断文件是否存在。 
*/ 
require_once($filename);//预处理包含,一般用于配置、函数等包含进来。这两个函数都可以选择_once,强调包含一次。 
//这四个函数都会被服务器处理PHP代码,简化重复的代码,很常用。实例15的readfile则直接当html输出到客户页面 
?>

可以看出,PHP操作文件目录的函数是比较简单和强大的,一个功能也就一行代码搞定。本章没有介绍copy函数,大家可以自己试试。
PHP 相关文章推荐
如何去掉文章里的 html 语法
Oct 09 PHP
PHP版网站缓存加快打开速度的方法分享
Jun 03 PHP
php判断手机访问还是电脑访问示例分享
Jan 20 PHP
php中spl_autoload详解
Oct 17 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
PHP实现Session入库/存入redis的方法
May 04 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
php实现微信发红包功能
Jul 13 PHP
php判断目录存在的简单方法
Sep 26 PHP
PHP数组实际占用内存大小原理解析
Dec 11 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 #PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 #PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 #PHP
一篇有意思的技术文章php介绍篇
Oct 26 #PHP
理解php原理的opcodes(操作码)
Oct 26 #PHP
PHP下常用正则表达式整理
Oct 26 #PHP
PHP编程最快明白(第一讲 软件环境和准备工作)
Oct 25 #PHP
You might like
基于mysql的bbs设计(一)
2006/10/09 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
IE下window.onresize 多次调用与死循环bug处理方法介绍
2013/11/12 Javascript
js图片预加载示例
2014/04/30 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
2019/04/14 Javascript
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
python发布模块的步骤分享
2014/02/21 Python
Python进行数据科学工作的简单入门教程
2015/04/01 Python
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
python学生管理系统学习笔记
2019/03/19 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
儿科护理实习自我鉴定
2013/09/19 职场文书
机电工程专业应届生求职信
2013/10/03 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
学习决心书
2014/03/11 职场文书
高一学生评语大全
2014/04/25 职场文书
前台岗位职责
2015/02/13 职场文书
催款函怎么写
2015/06/24 职场文书
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS
MySQL常见优化方案汇总
2022/01/18 MySQL
Redis Lua脚本实现ip限流示例
2022/07/15 Redis