《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 相关文章推荐
用文本文件制作留言板提示(上)
Oct 09 PHP
php join函数应用
May 04 PHP
apache+php完美解决301重定向的两种方法
Jun 08 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
php object转数组示例
Jan 15 PHP
php实现的简单检验登陆类
Jun 18 PHP
php session实现多级目录存放实现代码
Feb 03 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
Feb 06 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
PHP实现基于3DES算法加密解密字符串示例
Aug 24 PHP
PHP Swoole异步Redis客户端实现方法示例
Oct 24 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变量范围介绍
2012/10/15 PHP
纯PHP生成的一个树叶图片画图例子
2014/04/16 PHP
php对象和数组相互转换的方法
2015/05/12 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
php实现URL加密解密的方法
2016/11/17 PHP
解决laravel5.4下的group by报错的问题
2019/10/16 PHP
PHP如何使用cURL实现Get和Post请求
2020/07/11 PHP
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
JS表格的动态操作完整示例
2020/01/13 Javascript
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
快速了解Python中的装饰器
2018/01/11 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
python实现计算器功能
2019/10/31 Python
PyCharm永久激活方式(推荐)
2020/09/22 Python
Python控制台实现交互式环境执行
2020/06/09 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
python接口自动化框架实战
2020/12/23 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
50岁生日感言
2014/01/23 职场文书
党员十八大心得体会
2014/09/12 职场文书
2016年禁毒宣传活动总结
2016/04/05 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
Python+Tkinter制作专属图形化界面
2022/04/01 Python