《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 miniBB中文乱码问题解决方法
Nov 25 PHP
php curl 伪造IP来源的实例代码
Nov 01 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
php求正负数数组中连续元素最大值示例
Apr 11 PHP
PHP中调用SVN命令更新网站方法
Jan 07 PHP
PHP获取QQ达人QQ信息的方法
Mar 05 PHP
php+html5基于websocket实现聊天室的方法
Jul 17 PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
PHP中header函数的用法及其注意事项详解
Jun 13 PHP
nginx下安装php7+php5
Jul 31 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
Oct 29 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输出时间格式
2013/08/31 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
详解PHP PDO简单教程
2019/05/28 PHP
js获取div高度的代码
2008/08/09 Javascript
jQuery Ajax之load()方法
2009/10/12 Javascript
Jquery Ajax请求代码(2)
2011/01/07 Javascript
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
JavaScript高级程序设计 阅读笔记(十二) js内置对象Math
2012/08/14 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
小程序实现简单语音聊天的示例代码
2020/07/24 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
在Python程序中实现分布式进程的教程
2015/04/28 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
Python实现针对中文排序的方法
2017/05/09 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
Python 实现一个简单的web服务器
2021/01/03 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
六查六看自检自查剖析材料
2014/10/14 职场文书
博士给导师的自荐信
2015/03/06 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
Oracle使用别名的好处
2022/04/19 Oracle
vue实现省市区联动 element-china-area-data插件
2022/04/22 Vue.js