《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 相关文章推荐
php5数字型字符串加解密代码
Apr 24 PHP
PHP入门学习笔记之一
Oct 12 PHP
深入理解PHP中的Session和Cookie
Jun 21 PHP
浅析linux下apache服务器的配置和管理
Aug 10 PHP
PIGCMS 如何关闭聊天机器人
Feb 12 PHP
php的闭包(Closure)匿名函数详解
Feb 22 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
初识PHP中的Swoole
Apr 05 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
PHP实现上传多图即时显示与即时删除的方法
May 09 PHP
浅析PHP开发规范
Feb 05 PHP
phpstudy隐藏index.php的方法
Sep 21 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
一个域名查询的程序
2006/10/09 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
js切换光标示例代码
2013/10/10 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
JavaScript数组的栈方法与队列方法详解
2016/05/26 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
使用UrlConnection实现后台模拟http请求的简单实例
2017/01/04 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
JSON对象转化为字符串详解
2017/08/11 Javascript
浅谈mint-ui 填坑之路
2017/11/06 Javascript
Vue.js中使用iView日期选择器并设置开始时间结束时间校验功能
2018/08/12 Javascript
深入理解Vue 组件之间传值
2018/08/16 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
详解JavaScript数据类型和判断方法
2020/09/04 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
pycharm远程调试openstack代码
2017/11/21 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
django celery redis使用具体实践
2019/04/08 Python
python读写csv文件的方法
2019/08/13 Python
Python3 tkinter 实现文件读取及保存功能
2019/09/12 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
Numpy中ndim、shape、dtype、astype的用法详解
2020/06/14 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
《美丽的彩虹》教学反思
2014/02/25 职场文书
公证委托书标准格式
2014/09/11 职场文书
2014年单位法制宣传日活动总结
2014/11/01 职场文书
冲出亚马逊观后感
2015/06/03 职场文书