一、判断函数

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

二、增删

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

三、读写

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

四、指针

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

五、文件信息

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

六、权限

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

七、解析路径

 basename($path)//返回路径中的文件名部分
echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
echo "2) ".basename("/etc/passwd").PHP_EOL;
echo "3) ".basename("/etc/").PHP_EOL;
echo "4) ".basename("/etc///").PHP_EOL;
echo "5) ".basename("//etc/").PHP_EOL;
echo "6) ".basename("/etc/.").PHP_EOL;
echo "7) ".basename(".").PHP_EOL;
echo "8) ".basename("..").PHP_EOL;
echo "9) ".basename("/");
1) sudoers
2) passwd
3) etc
4) etc
5) etc
6) .
7) .
8) ..
9)
下面这个自定义函数可以解释basename()的行为
function my_basename($path,$suffix=''){
$path_arr = explode("/",$path);
foreach ($path_arr as $key => $value) {
if($value==''){
unset($arr[$key]);
}
}
$arr_length = count($path_arr);
$path_last = $path_arr[$arr_length-1];
if(isset($path_last)){
$filename = strrev($path_last);
if(strpos($filename,$suffix)===0){
return strrev(substr($filename,strlen($suffix)));
}else{
return strrev($filename);
}
}else{
return '';
}
} pathinfo($filename)//返回文件路径的信息
print_r(pathinfo("/etc///ss/s..txt//")); 输出: Array
(
[dirname] => /etc///ss
[basename] => s..txt
[extension] => txt
[filename] => s.
)

最新文章

  1. 初识IOS,Label控件的应用。
  2. hibernate笔记--组件映射方法
  3. php 开启socket配置
  4. 用 phylomatic 软件生成的进化树
  5. ASP.NET MVC使用Bootstrap系列(5)——创建ASP.NET MVC Bootstrap Helpers
  6. ASP.NET Core 1:UrlRouting 设置(不包含MVC6的UrlRouting设置)
  7. NPM 与 left-pad 事件:我们是不是早已忘记该如何好好地编程?
  8. Shell 总结
  9. 移动web屏幕适配方案
  10. SAP-Basic:使用SCC1时提示 TA263“集团被集团副本锁定用于输入”
  11. 一款值得推荐的shell工具
  12. [Lua]Mac系统上安装Lua环境
  13. Android为TV端助力 播放视频卡顿问题
  14. c#操作SQL Server入门总结
  15. ajax、json、jsonp
  16. JAVA实现ATM源代码及感想
  17. iframe伪造ajax
  18. Linux交叉工具链安装
  19. git 查看提交历史
  20. 0002 - Spring MVC 拦截器源码简析:拦截器加载与执行

热门文章

  1. jprofiler监控wls&was配置
  2. 条形码(barcode)code128生成代码
  3. 前端需要注意哪些SEO
  4. Html/CSS 示例演练 图书馆后台界面
  5. C# AxWindowsMediaPlayer
  6. QT Desinger设计窗体应用程序框架
  7. Django开启https(不用nginx)
  8. 【Hibernate】---【注解】一对一
  9. flask如何实现https以及自定义证书的制作
  10. vue-router实现组件间的跳转---参数传递