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