一、判断函数

 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函数的更多相关文章

  1. php使用file函数、fseek函数读取大文件效率分析

    php读取大文件可以使用file函数和fseek函数,但是二者之间效率可能存在差异,本文章向大家介绍php file函数与fseek函数实现大文件读取效率对比分析,需要的朋友可以参考一下. 1. 直接 ...

  2. PHP 文件读取 fread、fgets、fgetc、file_get_contents 与 file 函数

    fread().fgets().fgetc().file_get_contents() 与 file() 函数用于从文件中读取内容. fread() fread() 函数用于读取文件(可安全用于二进制 ...

  3. 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 ...

  4. PHP Zip File 函数

    通过 PHP 中的相关函数,你可以实现 zip 文件的解压缩操作! PHP Zip File 简介 Zip File 函数允许您读取压缩文件. 安装 如需在服务器上运行 Zip File 函数,必须安 ...

  5. PHP读取文件函数fread,fgets,fgetc,file_get_contents和file函数的使用总结

    fread().fgets().fgetc().file_get_contents() 与 file() 函数用于从文件中读取内容. 1.fread() fread()函数用于读取文件(可安全用于二进 ...

  6. Python file() 函数

    描述 file() 函数用于创建一个 file 对象,它有一个别名叫 open(),更形象一些,它们是内置函数.参数是以字符串的形式传递的.每组词 www.cgewang.com 更多文件操作可参考: ...

  7. $file函数

    引用:http://www.jb51.net/article/26508.htm 如: 复制代码代码如下: <form enctype="multipart/form-data&quo ...

  8. php file()函数

    file() — 把整个文件读入一个数组中 使用使用方法: file(filename,[$flags]); 可选参数 flags 可以是以下一个或多个常量: FILE_USE_INCLUDE_PAT ...

  9. python的文件操作file:(内置函数,如seek、truncate函数)

    file打开文件有两种方式,函数用file()或者open().打开后读入文件的内容用read()函数,其读入是从文件当前指针位置开始,所以需要控制指针位置用: 一.先介绍下file读入的控制函数: ...

随机推荐

  1. How jQuery UI Works

    https://learn.jquery.com/jquery-ui/how-jquery-ui-works/ jQuery UI contains many widgets that maintai ...

  2. SSH port forwarding: bind: Cannot assign requested address

    https://www.electricmonk.nl/log/2014/09/24/ssh-port-forwarding-bind-cannot-assign-requested-address/

  3. python - Tkinter 模块 - python 自带的gui模块

    Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口,位Python的内置模块,直接import tkinter即可使用. 1.创建窗口 from Tk ...

  4. Katalon Studio学习笔记(三)——chromedriver与当前chrome版本不符,如何替换

    首先下载chrome版本对应的chromedriver.exe文件,然后找到katalon如下图所示文件夹中,替换chromedriver.exe重新启动katalon即可. 最新适配chrome 7 ...

  5. 数据库之DML

    1.表的有关操作: 1.1.表的创建格式: CREATE TABLE IF NOT EXISTS 表名(属性1 类型,属性2 类型,....,属性n 类型):# 标记部分表示可以省略 1.2.表的修改 ...

  6. 【读书笔记】GitHub入门

    代码管理方式--集中与分散 集中型 以 Subversion 为代表的集中型,所示将仓库集中存放在服务器之中,所以只存在一个仓库.这就是为什么这种版本管理系统会被称作集中型. 集中型将所有数据集中存放 ...

  7. maven spark Scala idea搭建maven项目的 pom.xml文件配置

    1.pom.xml文件配置,直接上代码. <?xml version="1.0" encoding="UTF-8"?> <project xm ...

  8. 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题4---共享库中嵌套库带路径【已解决】

    [Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题4-共享库中嵌套库带路径[已解决] 标签:[Linux开发] 紧接着上一篇,我居然又尝试了一下编译opencv,主要是因为由于交 ...

  9. python 并发编程 多进程 Process对象的其他属性方法 terminate与is_alive name pid 函数

    进程对象的其他方法一: terminate与is_alive is_alive()  立刻查看的子进程结果 是否存活 from multiprocessing import Process impor ...

  10. Linux如何设置在当前目录下打开终端

    转:https://blog.csdn.net/iot_flower/article/details/71189816 1. sudo apt-get install nautilus-open-te ...