PHP file函数
一、判断函数
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.
)
PHP file函数的更多相关文章
- php使用file函数、fseek函数读取大文件效率分析
php读取大文件可以使用file函数和fseek函数,但是二者之间效率可能存在差异,本文章向大家介绍php file函数与fseek函数实现大文件读取效率对比分析,需要的朋友可以参考一下. 1. 直接 ...
- PHP 文件读取 fread、fgets、fgetc、file_get_contents 与 file 函数
fread().fgets().fgetc().file_get_contents() 与 file() 函数用于从文件中读取内容. fread() fread() 函数用于读取文件(可安全用于二进制 ...
- PHP文件操作,多行句子的读取,file()函数,file_get_contents()函数,file_put_contents()函数,is_file,统计网站pv (访问量),文件的复制 copy,文件重命名 rename,删除文件 unlink
php中添加utf-8: header("Content-type:text/html;charset='UTF-8'"); 文件操作步骤: 1.在同一目录下建立一个file.tx ...
- PHP Zip File 函数
通过 PHP 中的相关函数,你可以实现 zip 文件的解压缩操作! PHP Zip File 简介 Zip File 函数允许您读取压缩文件. 安装 如需在服务器上运行 Zip File 函数,必须安 ...
- PHP读取文件函数fread,fgets,fgetc,file_get_contents和file函数的使用总结
fread().fgets().fgetc().file_get_contents() 与 file() 函数用于从文件中读取内容. 1.fread() fread()函数用于读取文件(可安全用于二进 ...
- Python file() 函数
描述 file() 函数用于创建一个 file 对象,它有一个别名叫 open(),更形象一些,它们是内置函数.参数是以字符串的形式传递的.每组词 www.cgewang.com 更多文件操作可参考: ...
- $file函数
引用:http://www.jb51.net/article/26508.htm 如: 复制代码代码如下: <form enctype="multipart/form-data&quo ...
- php file()函数
file() — 把整个文件读入一个数组中 使用使用方法: file(filename,[$flags]); 可选参数 flags 可以是以下一个或多个常量: FILE_USE_INCLUDE_PAT ...
- python的文件操作file:(内置函数,如seek、truncate函数)
file打开文件有两种方式,函数用file()或者open().打开后读入文件的内容用read()函数,其读入是从文件当前指针位置开始,所以需要控制指针位置用: 一.先介绍下file读入的控制函数: ...
随机推荐
- Bader分析
一.背景 理查德·贝德(Richard Bader)开发了一种将分子分解为原子的直观方法.他对原子的定义纯粹基于电子电荷密度.Bader使用所谓的零磁通表面来划分原子.零通量表面是2D表面,其上电荷密 ...
- C:\WINDOWS\system32\drivers\etc\hosts文件的作用
在网络上访问网站,要首先通过DNS服务器把网络域名(www.XXXX.com)解析成XXX.XXX.XXX.XXX的IP地址后,我们的计算机才能访问.要是对于每个域名请求我们都要等待域名服务器解析后返 ...
- windows下eclipse打不开
报错找不到jre等东西 因为eclipse到不到javaw.exe 将其写入eclipse.ini即可 在eclipse.ini的前面加上 -vm D:\dev_tool\java\jdk1.7.0_ ...
- Jmeter之线程组(Stepping和Ultimate)
jmeter自带的线程组比较简单,如果需要逐渐增加并发数的功能并不能实现,所以就需要使用Jmeter插件--Stepping Thread Group. 一.安装Stepping/UItimate T ...
- 移动端自动化==>什么是Appium
转自:http://www.imdsx.cn/ 手机App分为两大类,原生App(Native App)和混合APP(Hybrid App) 原生App(Native App) 原生App实际就是我们 ...
- FLUME安装&环境(一):netcat类型配置
1.下载软件 在 /opt/deploy 下新建 flume 文件夹: # mkdir / opt/deploy / flume 到Flume官网上http://flume.apache.org/do ...
- 【Airtest】Airtest中swipe方法兼容不同分辨率的解决方法
使用Airtest中swipe方法由于不同分辨率的手机上滑动的坐标位置不同,所以想要兼容所有的手机,仅仅靠固定坐标就会出现问题 想要兼容所有的手机,可以按照如下思路进行 1.首先获取手机的分辨率,可以 ...
- 社工 - By源码托管平台|云盘 - GitHub - 汇总
搜索规则 ()默认搜索是从master分支搜索代码 ()只有小于384k的代码才是可以搜索到的 ()搜索语句不能有特殊字符如. , : ; / \ ` ' " = * ! ? # $ &am ...
- [2019上海网络赛F题]Rhyme scheme
题目链接 题意,求出合法的长度为n的字典序第k小字符串,合法的定义为除了最后一位,每一位的取值范围为'A'到'A'+pos-1,而最后一位的取值范围'A'到当前字符串最大值+1. 队友tql,Orz ...
- 04: DjangoRestFramework使用
Django其他篇 目录: 1.1 DjangoRestFramework基本使用 1.2 drf认证&权限 模块 1.3 djangorestframework 序列化 1.4 django ...