当前位置: 移动技术网 > IT编程>开发语言>PHP > 处理文件和操作系统(9)

处理文件和操作系统(9)

2018年04月13日  | 移动技术网IT编程  | 我要评论

了解文件和目录

  • 解析目录路径

·获取路径的文件名

basename()函数返回路径的文件名部分

$url = "D:\Apache24\htdocs\";
echo basename($url);//
echo basename($url,".html");//index

·获取路径的目录

dirname()函数返回路径的目录

$url = "D:\Apache24\htdocs\";
echo dirname($url);//D:\Apache24\htdocs 

·了解更多关于路径的信息

pathinfo()函数创建一个关联数组,其中包括路径的目录名,基本名和扩展名

$url = "D:\Apache24\htdocs\";
print_r(pathinfo($url));//Array ( [dirname] => D:\Apache24\htdocs [basename] =>  [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的程序执行函数

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网