《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 相关文章推荐
How do I change MySQL timezone?
Mar 26 PHP
php文件上传表单摘自drupal的代码
Feb 15 PHP
php设计模式 Interpreter(解释器模式)
Jun 26 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
简单实用的PHP防注入类实例
Dec 05 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
php简单创建zip压缩文件的方法
Apr 30 PHP
thinkphp实现分页显示功能
Dec 03 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
PHP 裁剪图片
Mar 09 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版本号
2006/10/09 PHP
PHP 危险函数解释 分析
2009/04/22 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
js 内存释放问题
2010/04/25 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
借助javascript代码判断网页是静态还是伪静态
2014/05/05 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
2019/05/06 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
小结Python用fork来创建子进程注意事项
2014/07/03 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
机器学习10大经典算法详解
2017/12/07 Python
python实现聊天小程序
2018/03/13 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
婚庆司仪开场白
2015/05/29 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL