《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和ACCESS写聊天室(二)
Oct 09 PHP
用PHP查询域名状态whois的类
Nov 25 PHP
用PHP写的MySQL数据库用户认证系统代码
Mar 22 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
PHP查询网站的PR值
Oct 30 PHP
php5.3以后的版本连接sqlserver2000的方法
Jul 28 PHP
php实现递归与无限分类的方法
Feb 16 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
Dec 02 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
Mar 24 PHP
php慢查询日志和错误日志使用详解
Feb 27 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
比较全的PHP 会话(session 时间设定)使用入门代码
2008/06/05 PHP
PHP 定界符 使用技巧
2009/06/14 PHP
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
提高php编程效率技巧
2015/08/13 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
jquery实现心算练习代码
2010/12/06 Javascript
基于jQuery的投票系统显示结果插件
2011/08/12 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
jQuery之折叠面板的深入解析
2013/06/19 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
如何判断元素是否为HTMLElement元素
2013/12/06 Javascript
js charAt的使用示例
2014/02/18 Javascript
JS+CSS实现滑动切换tab菜单效果
2015/08/25 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
Angular 4环境准备与Angular cli创建项目详解
2017/05/27 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
浅谈ng-zorro使用心得
2018/12/03 Javascript
create-react-app中添加less支持的实现
2019/11/15 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
python实现单向链表详解
2018/02/08 Python
详解Python如何生成词云的方法
2018/06/01 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
英语专业毕业生自荐信范文
2013/12/31 职场文书
个人借条范本
2015/05/25 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL