《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 相关文章推荐
Windows中安装Apache2和PHP4权威指南
Nov 18 PHP
PHP教程 变量定义
Oct 23 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
Jan 27 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
Apr 15 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
php实现的替换敏感字符串类实例
Sep 22 PHP
PHP与MYSQL中UTF8编码的中文排序实例
Oct 21 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
Jul 29 PHP
thinkphp制作404跳转页的简单实现方法
Sep 22 PHP
php实现的简单中文验证码功能示例
Jan 03 PHP
php如何比较两个浮点数是否相等详解
Feb 12 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
Apr 07 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.ini中文版(2)
2006/10/09 PHP
php将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
Yii 框架使用数据库(databases)的方法示例
2020/05/19 PHP
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
Vue中全局变量的定义和使用
2019/06/05 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
详解Vue之事件处理
2020/07/10 Javascript
python下读取公私钥做加解密实例详解
2017/03/29 Python
python 矩阵增加一行或一列的实例
2018/04/04 Python
python设置值及NaN值处理方法
2018/07/03 Python
python学习开发mock接口
2019/04/28 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
马丁路德金演讲稿
2014/05/19 职场文书
优秀教师先进材料
2014/12/16 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang
js面向对象编程OOP及函数式编程FP区别
2022/07/07 Javascript
Python中tqdm的使用和例子
2022/09/23 Python