(五)php参考手册---Filesystem 函数

来源:互联网 发布:php面向对象几大原则 编辑:程序博客网 时间:2024/06/03 09:25

目录操作

  • basename() 返回路径中的文件名部分。

  • dirname() 返回路径中的目录名称部分。

  • pathinfo(path,process_sections) 返回关于文件路径的信息。返回一个关联数组包含有 path 的信息。
    path 必需。规定要检查的路径。
    process_sections
    可选。规定要返回的数组元素。默认是 all。
    可能的值:
    PATHINFO_DIRNAME - 只返回 dirname
    PATHINFO_BASENAME - 只返回 basename
    PATHINFO_EXTENSION - 只返回 extension

  • realpath() 函数返回绝对路径。
    该函数删除所有符号连接(比如 ‘/./’, ‘/../’ 以及多余的 ‘/’),返回绝对路径名。
    若失败,则返回 false。比如说文件不存在的话。

磁盘、目录和文件计算

  • filesize() 函数返回指定文件的大小。单位是字节,转换kb需要除以1024

  • disk_free_space(directory) 函数返回目录中的可用空间,单位字节

  • diskfreespace() disk_free_space() 的别名。
disk_free_space(‘C:’)
  • disk_total_space() 返回一个目录的磁盘总容量。

  • fileatime() 返回文件的上次访问时间。返回的是时间戳,需要使用date()方法格式化成本地时间,格式化后需要使用date_default_timezone_set(‘Asia/shanghai’)调整时区

  • filectime() 返回文件的上次改变时间。文件的所有者,权限
  • filemtime() 返回文件的上次修改时间。文件内容修改的时间
$path='C:/A/B/C.js';filectime($path);  

文件处理

  • 将数据写入一个文件需要三个步骤
    打开这个文件
    将数据写入这个文件
    关闭这个文件

  • 从文件中读出数据也需要三个步骤
    打开文件,如果文件不能打开,就应该意识到这一点,并且正确的退出
    从文件中读出数据
    关闭这个文件

开关文件

  • fopen(filename,mode,include_path,context) 打开一个文件或 URL。
    参数:filename 必需。规定要打开的文件或 URL。
    mode 必需。规定要求到该文件/流的访问类型。r,r+,w(从头修改),w+,a(追加写数据),a+,x,x+
    include_path 可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。
    context 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。
  • fclose(file) 关闭打开的文件。

写入文件

  • fwrite(file,string【,length】) 写入文件。
  • fputs() 函数是 fwrite() 函数的别名。
  • file_put_contents(file【,data,mode,context】) 将字符串写入文件。(php5以后)
    注意: \r\n可以化将文本换行

读出文件

  • fopen(’file.text’,’r’);

  • file_get_contents(path,include_path,context,start,max_length)函数把整个文件读入一个字符串中。

  • file(path) 函数把整个文件读入一个数组中。

  • fgetc()读出一个字符,并将指针移到下一个字符。
    echo fgetc($fp);

  • fgetcsv(file,length,separator,enclosure) 函数从文件指针中读入一行并解析 CSV 字段。
    参数:length (可选)规定行的最大长度。
    separator 可选。设置字段分界符(只允许一个字符),默认值为逗号。
    enclosure 可选。设置字段环绕符(只允许一个字符),默认值为双引号。

  • fgets()从handle指向的文件中读取一行并返回长度最多为length-1字节的字符串
    echo fgets($fp,2);

  • fgetss()可以过滤html。
    echo fgetss($fp);

  • fread()从文件指针handle读取最多length个字节.
    echo fread($fp,2);

  • fpassthru($fp):输出文件指针处的所有剩余数据。

  • feof():检测文件指针是否到了文件结束的位置。

检测文件

  • file_exists():检查文件或目录是否存在
  • filesize():查看文件大小,单位字节
  • unlink():删除文件
  • rewind():倒回倒文件指针的位置
  • ftell():返回文件指针的读/写位置
  • fseek($fp,20):将指针定位在位置20的位置。
  • feof(file)函数检测是否已到达文件末尾 (eof)
  • is_file() 函数检查指定的文件名是否是正常的文件。
  • is_link() 函数判断指定文件名是否为一个符号连接。
  • is_uploaded_file() 函数判断指定的文件是否是通过 HTTP POST 上传的。
  • is_writable() 函数判断指定的文件是否可写。
  • 该函数是 is_writable() 函数的别名。

文件锁定

  • flock():fopen后锁定。
    flock($fp,LOCK_EX);//锁定
    flock($fp,LOCK_UN);//释放

目录句柄操作

  • $dir=opendir(‘绝对路径或者相对路径’):打开路径指定的目录流
  • closedir($dir):关闭目录流
  • readdir($dir):返回目录中的各个元素。用循环来读出。
while(!!$file=readdir($dir)){echo $file.'<br/>';}
  • mkdir(path) 函数创建目录。
  • rmdir(’相对路径或绝对路径’);删除一个目录,不能用来删除文件
  • rename():重命名文件名或目录名。
  • is_dir() 函数检查指定的文件是否是目录。

改变文件

  • chmod(file,mode)函数改变文件模式。
    mode 参数由 4 个数字组成:
    第一个数字永远是 0
    第二个数字规定所有者的权限
    第二个数字规定所有者所属的用户组的权限
    第四个数字规定其他所有人的权限
    可能的值(如需设置多个权限,请对下面的数字进行总计):
    1 - 执行权限,2 - 写权限,4 - 读权限

  • chown(file,owner)函数改变指定文件的所有者。owner 规定新的所有者。可以是用户名或用户的 ID。

组相关操作

  • filegroup(filename)函数返回指定文件的组 ID。
  • chgrp(file,group):改变文件组
  • 列表内容

其他

  • clearstatcache()函数清除文件状态缓存。
  • copy(source,destination) 函数拷贝文件。
  • fflush(file)函数将缓冲内容输出到文件。
  • fileinode(filename)函数返回文件的 inode 编号
  • fileowner() 函数返回文件的所有者。
  • fileperms() 函数返回文件或目录的权限。
  • fnmatch(pattern,string,flags) 函数根据指定的模式来匹配文件名或字符串。
  • fputcsv(file,fields,seperator,enclosure) 函数将行格式化为 CSV 并写入一个打开的文件。
    参数:fields 必需。规定要从中获得数据的数组。
    seperator 可选。规定字段分隔符的字符。默认是逗号 (,)。
    enclosure 可选。规定字段环绕符的字符。默认是双引号 “。
  • fscanf(file,format,mixed)函数根据指定的格式对来自打开的文件的输入进行解析。
    参数:format 必需。规定格式。

  • fstat() 函数返回关于打开文件的信息。

  • ftruncate(file,size)函数把文件截断到指定的长度。
  • glob(pattern,flags)函数返回匹配指定模式的文件名或目录。
    参数:file 必需。规定检索模式。
    flags可选。规定特殊的设定。
    GLOB_MARK - 在每个返回的项目中加一个斜线
    GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
    GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
    GLOB_NOESCAPE - 反斜线不转义元字符
    GLOB_BRACE - 扩充 {a,b,c} 来匹配 ‘a’,’b’ 或 ‘c’
    GLOB_ONLYDIR - 仅返回与模式匹配的目录项
    GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误

  • is_executable() 函数检查指定的文件是否可执行。

  • link(target,link) 函数建立一个硬连接。
  • linkinfo() 函数返回连接的信息。
  • lstat(file)lstat() 函数返回关于文件或符号连接的信息。
  • move_uploaded_file(file,newloc)函数将上传的文件移动到新位置。
  • parse_ini_file() 函数解析一个配置文件,并以数组的形式返回其中的设置。
  • pathinfo() 函数以数组的形式返回文件路径的信息。
  • popen(command,mode)函数打开进程文件指针。
  • pclose() 关闭有 popen() 打开的进程。
  • readfile(filename) 读取一个文件,并输出到输出缓冲。
  • symlink() 创建符号连接。
  • readlink() 返回符号连接的目标。
  • realpath() 返回绝对路径名。
  • set_file_buffer() 设置已打开文件的缓冲大小。
  • stat() 返回关于文件的信息。
  • tempnam() 创建唯一的临时文件。
  • tmpfile() 建立临时文件。
  • touch() 设置文件的访问和修改时间。
  • umask() 改变文件的文件权限。