PHP file函数


一、判断函数

1 is_file($filename) //判断是否文件
2 is_link($filename) //判断是否为链接符号
3 is_dir($filename) //判断是否为路径
4 is_readable($filename)//判断文件是否存在并且可读
5 is_writable($filename)//判断文件是否存在并且可写
6 is_executable($filename)//判断文件是否存在且可执行

二、增删

1 touch($filename,$m_time=time(),$v_time=time()) //创建文件,修改时间,访问时间。文件不存在则创建
2 mkdir($path,0777,true) //创建目录,true位创建多级
3 copy($source,$dest)//将文件复制到$dest
4 unlink($filename)//删除文件
5 rmdir($dirname)//删除目录

三、读写

 1 $fp = fopen($filename,$mode) //打开文件或url
 2 feof($fp)//测试文件指针是否到了文件结束的位置
 3 flock($fp,$operation)//LOCK_SH共享锁,LOCK_EX排他锁,LOCK_UN释放锁。
 4 fwrite($fp,$content)//写入,别名fputs()
 5 fread($fp,$length)//读取$length个字节
 6 fgets($fp,$length)//从文件指针中读取一行,$length-1个字节
 7 fgetss($fp)//从文件指针中读取一行并过滤掉HTML标记
 8 fgetc($fp)//读取一个字符(字节)
 9 fclose($fp);//关闭一个已打开的文件指针
10 $str = file_get_contents($filename,)//将整个文件读入一个字符串
11 file_put_contents($filename,$contents)//将一个字符串写入文件
12 $arr = file($filename)//将整个文件读入一个数组

四、指针

1 fseek($fp,$offset)//将文件指针移动到$offset处
2 rewind($fp)//将文件指针置于开头,等价于fseek($fp,0)

五、文件信息

1 fileatime($filename)//取得文件上次的访问时间
2 filemtime($filename)//取得文件的修改时间
3 filectime($filename)//取得文件的 inode 修改时间
4 fileinode($filename)//取的文件的 inode
5 filegroup($fileanme)//取得文件的组
6 fileowner($filename)//取得文件的所有者
7 fileperms($fileanme)//取得文件的权限
8 filesize($filename) //取得文件的大小
9 filetype($filename) //取得文件类型,fifo,char,dir,block,link,file 和 unknown

六、权限

1 chgrp($filename,$group)//$group组名或组ID
2 chmod($filename,$mode)//改文件权限
3 chown($filename,$user)//改变文件的所有者

七、解析路径

 1 basename($path)//返回路径中的文件名部分
 2 echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
 3 echo "2) ".basename("/etc/passwd").PHP_EOL;
 4 echo "3) ".basename("/etc/").PHP_EOL;
 5 echo "4) ".basename("/etc///").PHP_EOL;
 6 echo "5) ".basename("//etc/").PHP_EOL;
 7 echo "6) ".basename("/etc/.").PHP_EOL;
 8 echo "7) ".basename(".").PHP_EOL;
 9 echo "8) ".basename("..").PHP_EOL;
10 echo "9) ".basename("/");
11 1) sudoers
12 2) passwd
13 3) etc
14 4) etc
15 5) etc
16 6) .
17 7) .
18 8) ..
19 9) 
20 下面这个自定义函数可以解释basename()的行为
21 function my_basename($path,$suffix=''){
22 $path_arr = explode("/",$path);
23 foreach ($path_arr as $key => $value) {
24 if($value==''){
25 unset($arr[$key]);
26 }
27 }
28 $arr_length = count($path_arr);
29 $path_last = $path_arr[$arr_length-1];
30 if(isset($path_last)){
31 $filename = strrev($path_last);
32 if(strpos($filename,$suffix)===0){
33 return strrev(substr($filename,strlen($suffix)));
34 }else{
35 return strrev($filename);
36 }
37 }else{
38 return '';
39 } 
40 }
41 
42 pathinfo($filename)//返回文件路径的信息
43 print_r(pathinfo("/etc///ss/s..txt//"));
44 
45 输出:
46 
47 Array
48 (
49 [dirname] => /etc///ss
50 [basename] => s..txt
51 [extension] => txt
52 [filename] => s.
53 )

 

posted @ 2017-03-07 15:41  那天ws  阅读(444)  评论(0编辑  收藏  举报