《PHP编程最快明白》第五讲:php目录、文件操作
2014-05-18来源:易贤网

PHP的目录、文件操作是很简单的,本章用的是windows的服务器,目录名为GBK编码,文件内容为UTF-8编码。这样一目了然。

实例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);

//看到没,写入两行,第三个参数可选,表示是以增加方式写入,否则清空内容再写入

echofile_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($arras$value){

if(!is_dir($dir.$value))//是否目录,目录还包括"."、".."两个数组,通过判断可以知道是文件还是目录,以及是什么类型的后序名

echoiconv("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函数,大家可以自己试试。

更多信息请查看IT技术专栏

推荐信息