Heim  >  Artikel  >  php教程  >  《PHP编程最快明白》第五讲:php目录、文件操作

《PHP编程最快明白》第五讲:php目录、文件操作

WBOY
WBOYOriginal
2016-06-06 20:35:13897Durchsuche

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

实例15 目录创建、删除

复制代码 代码如下:


$dirfile="文件夹";
$dirfile=iconv("UTF-8","GB2312",$dirfile);//转码,否则会看到windows里面是乱码,但程序能正常操作,读取目录时反过来才看到目录的真正名字。
if(!file_exists($dirfile))//用于判断目录或文件是否存在
mkdir($dirfile);//创建目录
rmdir($dirfile);//删除目录,必须为空目录,否则要先删除里面的所有文件,后面有删除方法
echo "
";
?>


实例16 文件创建、删除、读取、转数组

复制代码 代码如下:


$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 "
";
$arr=file($filename);//文件按行读到数组里
print_r($arr);
echo "
";
readfile($filename);//文件直接输出到屏幕
echo "
";
?>


实例17 获取url信息、客户端ip地址

复制代码 代码如下:


//获取域名或主机地址
echo $_SERVER['HTTP_HOST']."
";
//获取网页地址(中间部分)
echo $_SERVER['PHP_SELF']."
";
//获取网址参数(?后面部分)
echo $_SERVER["QUERY_STRING"]."
";
//来源客户端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 "
";
?>


实例18 获取文件修改时间戳、遍历目录文件

复制代码 代码如下:


$filename="文件.txt";
$filename=iconv("UTF-8","GB2312",$filename);
$passtime=time()-filectime($filename);//创建时间差,不准,虚拟主机,一般不用
echo $passtime;
echo "
";
$passtime=time()-filemtime($filename);//修改时间差,用于更新判断,缓冲等判断
echo $passtime;
echo "
";
$dir="../";
print_r($arr=scandir($dir));//获得主目录的所有文件和文件夹名称
foreach($arr as $value){
if (!is_dir($dir.$value)) //是否目录,目录还包括"."、".."两个数组,通过判断可以知道是文件还是目录,以及是什么类型的后序名
echo iconv("GB2312","UTF-8",$value)."
\r\n";
}
?>


实例19 文件包含

复制代码 代码如下:


$filename="文件.txt";
@include($filename);//包含到此处,然后由服务器处理成html代码。
/*
@表示读取不了时忽略错误警告,用于PHP语句、函数前,一般服务器端显示错误是关闭的,但是个别例外。除此之外,大家还可以try-catch捕捉异常,服务器空间,或者用file_exists函数先判断文件是否存在。
*/
require_once($filename);//预处理包含,一般用于配置、函数等包含进来。这两个函数都可以选择_once,强调包含一次。
//这四个函数都会被服务器处理PHP代码,简化重复的代码,很常用。实例15的readfile则直接当html输出到客户页面
?>


可以看出,PHP操作文件目录的函数是比较简单和强大的,一个功能也就一行代码搞定。本章没有介绍copy函数,大家可以自己试试。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn