处理文件和操作系统(9)
了解文件和目录
- 解析目录路径
·获取路径的文件名
basename()函数返回路径的文件名部分
$url = "D:\Apache24\htdocs\index.html"; echo basename($url);//index.html echo basename($url,".html");//index
·获取路径的目录
dirname()函数返回路径的目录
$url = "D:\Apache24\htdocs\index.html"; echo dirname($url);//D:\Apache24\htdocs
·了解更多关于路径的信息
pathinfo()函数创建一个关联数组,其中包括路径的目录名,基本名和扩展名
$url = "D:\Apache24\htdocs\index.html"; print_r(pathinfo($url));//Array ( [dirname] => D:\Apache24\htdocs [basename] => index.html [extension] => html [filename] => index )
·确定绝对路径
realpath()函数返回文件名的绝对路径
$url = "1.png";//1.png跟测试html在同级目录 echo realpath($url);//D:\Apache24\htdocs\1.png
- 计算文件,目录和磁盘大小
·确定文件大小
filesize()函数返回指定文件的大小
$url = "1.png";//1.png跟测试html在同级目录 echo filesize($url);//1420168字节
·计算磁盘的可用空间
disk_free_space()函数返回指定目录所在盘的可用空间
$url = "htdocs";//htdocs是html的目录 echo disk_free_space($url);//102040064000字节
·计算磁盘的总容量
disk_total_space()函数返回指定目录所在盘的总空间
$url = "htdocs";//htdocs是html的目录 echo disk_total_space($url);//107582844928字节
·获取目录大小
(。。。)
- 确定访问和修改时间
获取文件最后访问的时间
fileatime()函数获取文件最后访问的时间
$url = "text.txt";//text.txt"跟测试html在同级目录 echo date("y-m-d g:i:sa",fileatime($url));
确定文件最后改变的时间
filectime()函数返回文件最后修改的时间
$url = "text.txt";//text.txt"跟测试html在同级目录 echo date("y-m-d g:i:sa",filectime($url));
处理文件
- 识别文件末尾字符
fgets()函数确定是否达到资源末尾
//打开只读文件 $xiu = fopen("text.txt","r");//text.txt"跟测试html在同级目录 //feof()函数确定是否达到资源末尾 while(!feof($xiu)){ //fgets()函数读取文件内容 echo fgets($xiu); } //fclose()函数关闭资源 fclose($xiu);
- 打开和关闭文件
·打开文件
R只读。文件指针置于文件开头
r+读写。文件指针置于文件开头
W只写。在写入之前删除文件内容,将指针置于文件开头,如果文件不存在则创建
w+读写。在读写或写入之前删除文件内容,将指针置于文件开头,如果文件不存在则创建
A只写。文件指针置于文件末尾,如果文件不存在则创建
a+读写。文件指针置于文件末尾,如果文件不存在则创建
x创建并打开只读文件,如果文件存在,fopen()返回失败
x+创建并打开读写文件,如果文件存在,fopen()返回失败
fopen()函数
fopen("text.txt","x");//创建并打开只读文件text.txt
·关闭文件
fclose()函数关闭文件
$xiu = fopen("text.txt","x");//创建并打开只读文件text.txt fclose($xiu);//关闭文件
- 将字符串写入文件
$text = "xiukang修抗";//写入文件的内容 $xiu = fopen("text.txt","a+");//创建并打开只读文件text.txt fwrite($xiu,$text);//将字符串写入文件 fclose($xiu);//关闭文件
- 读取文件
·将文件读入数组
file()函数
$xiu = file("text.txt");//file()函数将文件读入数组 foreach($xiu as $kang){ list($name,$age) = explode(" ",$kang); echo $name; echo $age; }
·将文件内容读入字符串变量
file_get_contents()函数
$xiu = file_get_contents("text.txt");//file_get_contents()函数将文件读入字符串 $kang = explode("\n",$xiu);//将字符串每一行放入数组 foreach($kang as $sear){ list($name,$age) = explode(" ",$sear); echo $name; echo $age; }
·读取指定数目的字符
fgets()函数
$xiu = fopen("text.txt","a+"); while(!feof($xiu)){//feof()函数输出文本的所有行,直到文本结束(EOF) echo fgets($xiu,1024);//fgets()函数默认读取一行1024字符,遇到换行符和EOF都会停止执行 } fclose($xiu);
·从输入中剔除标签
fgetss()函数
$xiu = fopen("text.html","r+");//text.html里面的内容为<h1>This is a paragraph.</h1> echo fgetss($xiu,1024,"<h1>,<h2>");//fgetss()函数会剔除指定的标签 fclose($xiu);
·以一次读取一个字符的方式读取文件
fgetc()函数
$xiu = fopen("text.txt","r+");//文件内容为Hellow echo fgetc($xiu);//fgetc()函数获取文件中的一个字符 fclose($xiu);
·忽略换行符
fread()函数
$xiu = fopen("text.txt","r"); $kang = filesize("text.txt");//filesize()函数获取该文件的字数 echo fread($xiu,$kang);//fread()函数读取文件时忽略换行符 fclose($xiu);
·读取整个文件
readfile()函数
readfile("text.txt");//readfile()函数将整个文件输出到浏览器中
·根据预定义的格式读取文件
fscanf()函数
/* 2424-2423-5235 4633-6547-3523 4536-6346-3634 */ $xiu = fopen("text.txt","r+"); while($user = fscanf($xiu,"%d-%d-%d")){//fscanf()函数按指定方式解析文件 list($par1,$par2,$par3) = $user; printf("par1:%d,par2:%d,par3:%d",$par1,$par2,$par3); }
- 移动文件指针
fseek()函数
ftell()函数
rewind()函数
$xiu = fopen("text.txt","r+"); fseek($xiu,"20");//fseek()函数将文件指针偏移20字符 echo ftell($xiu);//ftell()函数获取指针位置 rewind($xiu);//rewind()函数将文件指针移到文件开始处 fclose($xiu);
- 读取目录内容
打开目录
opendir()函数
opendir("../htdocs");//opendir()函数打开目录句柄,跟fopen()差不多
关闭目录
closedir()函数
$xiu = opendir("../htdocs"); closedir($xiu);//关闭目录流
解析目录内容
readdir()函数
$xiu = opendir("../htdocs"); while($kang = readdir($xiu)){//readdir()函数获取该目录下所有文件名 echo "$kang<br/>"; } closedir($xiu);
将目录读入数组
scandir()函数
print_r(scandir("../htdocs"));//scadir()函数将目录返回数组
执行shell命令
系统级程序执行
- 清理输入
- PHP的程序执行函数
下一篇: go连接Mysql