《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 相关文章推荐
PHP中的日期处理方法集锦
Jan 02 PHP
php flush类输出缓冲剖析
Oct 19 PHP
php 日期时间处理函数小结
Dec 18 PHP
PHP 一个随机字符串生成代码
May 26 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
PHP扩展CURL的用法详解
Jun 20 PHP
PHP编程中的常见漏洞和代码实例
Aug 06 PHP
PHP实现采集抓取淘宝网单个商品信息
Jan 08 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
May 24 PHP
PHP操作Postgresql封装类与应用完整实例
Apr 24 PHP
浅析PHP中json_encode与json_decode的区别
Jul 15 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面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
基于php常用正则表达式的整理汇总
2013/06/08 PHP
详解js异步文件加载器
2016/01/24 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
Jquery 弹出层插件实现代码
2009/10/24 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
vue中如何自定义右键菜单详解
2020/12/08 Vue.js
Python 将pdf转成图片的方法
2018/04/23 Python
python版飞机大战代码分享
2018/11/20 Python
python 变量初始化空列表的例子
2019/11/28 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
技术总监的工作职责
2013/11/13 职场文书
初中生学习生活的自我评价
2013/11/20 职场文书
四年级语文教学反思
2014/02/05 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
2019客服个人年终工作总结范文
2019/07/08 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
MySQL一些常用高级SQL语句
2021/07/03 MySQL
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis