×

关注微信公众号

教程网 首页 教程 编程语言 PHP 查看内容
免备案网站空间虚拟主机双线空间域名查询PS数码后期
亿万先生互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
酷素材!视频教程打包下手绘教程抠图教程路径专辑亿万先生 cs3视频教程

PHP技巧:PHP脚本编程中的文件系统函数库

时间 : 2015-11-4 11:29 作者 : 素材控
 查看 : ( 3320 )  评论 : ( 0 )
摘要 : basename: 返回不含路径的文件字符串。 chgrp: 改变文件所属的群组。 chmod: 改变文件的属性。 chown: 改变文件的拥有者。 clearstatcache: 清除文件状态快取。 copy: 复制文件。 delete: 无用的项目。 ...
basename: 返回不含路径的文件字符串。 chgrp: 改变文件所属的群组。 chmod: 改变文件的属性。 chown: 改变文件的拥有者。 clearstatcache: 清除文件状态快取。 copy: 复制文件。 delete: 无用的项目。 dirname: 取得路径中的目录名。 diskfreespace: 取得目录所在的剩余可用空间。 fclose: 关闭已打开的文件。 feof: 测试文件指针是否指到档尾。 fgetc: 取得文件指针所指的字符。 fgetcsv: 取得文件指针所指行,并解析 csv 字段。 fgets: 取得文件指针所指的行。 fgetss: 取得文件指针所指的行,并去掉 html 语言标记。 file: 将文件全部读入数组变量中。 file_exists: 检查文件是否存在。 fileatime: 取得文件最后的存取时间。 filectime: 取得文件最后的改变时间。 filegroup: 取得文件所属的群组。 fileinode: 取得文件的 inode 值。 filemtime: 取得文件最后的修改时间。 fileowner: 取得文件的拥有者。 fileperms: 取得文件的权限配置。 filesize: 获得文件的大小。 filetype: 获得文件的类型。 flock: 锁住文件。 fopen: 打开文件或者 url。 fpassthru: 输出所有剩余资料。 fputs: 写到文件指针。 fread: 位组的方式读取文件。 fseek: 移动文件指针。 ftell: 取得文件读写指针位置。 fwrite: 二进位位方式写入文件。 set_file_buffer: 配置文件缓冲区大小。 is_dir: 测试文件是否为目录。 is_executable: 测试文件是否为可执行档。 is_file: 测试文件是否为正常文件。 is_link: 测试文件是否为链接档。 is_readable: 测试文件是否可读取。 is_writeable: 测试文件是否可写入。 link: 建立硬式链接。 linkinfo: 取得链接信息。 mkdir: 建立目录。 pclose: 关闭文件。 popen: 打开文件。 readfile: 输出文件。 readlink: 返回符号链接 (symbolic link) 目标档。 rename: 更改档名。 rewind: 重置开档的读写位置指针。 rmdir: 删除目录。 stat: 取得文件相关信息。 lstat: 取得链接档相关信息。 symlink: 建立符号链接 (symbolic link)。 tempnam: 建立只一的临时档。 touch: 配置最后修改时间。 umask: 改变目前的文件属性遮罩 umask。 unlink: 删除文件。 basename 返回不含路径的文件字符串。 语法: string basename(string path); 返回值: 字符串 函数种类: 文件存取 内容说明: 将含路径及文件字符串中的路径拿掉,返回只含文件名的字符串。在 windows 系列的操作系统中,路径可以是斜线 (/) 或反斜线 (\);在 unix 系列的操作系统,路径为斜线 (/)。 使用范例 下例中的 $file 变量值为 "index.php"
$path = "/home/httpd/html/index.php"; $file = basename($path); ?> 参考 dirname() chgrp 改变文件所属的群组。 语法: int chgrp(string filename, mixed group); 返回值: 整数 函数种类: 文件存取 内容说明 本函数用来改变文件所属的群组,只有系统管理员权限可以任意改变文件所属群组,其余的使用者都只能改变本身拥有的文件。成功返回 true,失败返回 false;在 windows 系列操作系统中,本函数什么也不做就返回 true。 参考 chown() chmod() chmod 改变文件的属性。 语法: int chmod(string filename, int mode); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数用来改变文件的属性。成功则返回 true、失败返回 false。在 mode 值中,系统不会自动将它加入 0 以获得正确的八进位演算,若要正确的使用,可以用下例第二行的方式。 使用范例 下二行都是将文件属性设为 rwxr-xr-x,但以第二行较好。
chmod("/mydir/myfile", 755 ); // mode 为十进位,可能有潜在错误 chmod("/mydir/myfile", 0755 ); // mode 为八进位,确定的属性值 ?> 参考 chown() chgrp() chown 改变文件的拥有者。 语法: int chown(string filename, mixed user); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数用来改变文件的拥有人,只有系统管理员权限可以任意改变文件所属群组,其余的使用者都只能改变本身拥有的文件。成功返回 true,失败返回 false;在 windows 系列操作系统中,本函数什么也不做就返回 true。 参考 chmod() clearstatcache 清除文件状态快取。 语法: void clearstatcache(void); 返回值: 无 函数种类: 文件存取 内容说明 对操作系统而言,使用 stat() 或 lstat() 二个函数是很耗资源的,尤其是当每次都要重新呼叫 stat() 及 lstat() 二个函数时,更是不经济的方式。因此为节省资源,php 系统会将文件状态放在快取内存中,以便随时使用。而本函数就是提供清除快取内存中文件信息的函数。受本函数影响的函数有 stat()、lstat()、file_exists()、is_writeable()、is_readable()、is_executable ()、is_file()、is_dir()、is_link()、filectime()、fileatime()、filemtime()、 fileinode()、filegroup()、fileowner()、filesize()、filetype() 及 fileperms() 等十八个。 参考 stat() lstat() file_exists() is_writeable() is_readable() is_executable() is_file() is_dir() is_link() filectime() fileatime() filemtime() fileinode() filegroup() fileowner() filesize() filetype() fileperms() copy 复制文件。 语法: int copy(string source, string dest); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数用来复制文件。成功则返回 true、失败返回 false。 使用范例 本例复制文件,失败时显示复制失败的信息。
if (!copy($file, $file.'.bak')) { print("复制文件 $file 失败...
\n");
} ?> 参考 rename() delete 无用的项目。 语法: void delete(string file); 返回值: 无 函数种类: 文件存取 内容说明: 本函数为无用的项目。要删除文件用 unlink()、要删去变量用 unset()。 参考 unlink() unset() dirname 取得路径中的目录名。 语法: string dirname(string path); 返回值: 字符串 函数种类: 文件存取 内容说明: 本函数返回 path 中的目录名称。在 win32 系统中,用斜线 (/) 或者反斜线 (\) 都可以;但是其它的操作系统的路径都是 (/)。 使用范例 本例返回字符串 $file 为 "/etc"。
$path = "/etc/hostname"; $file = dirname($path); ?> 参考 basename() diskfreespace 取得目录所在的剩余可用空间。 语法: float diskfreespace(string directory); 返回值: 浮点数 函数种类: 文件存取 内容说明: 本函数用来取得目录所在储存装置的剩余空间,单位为位组 (byte)。 使用范例 本例可以知道根目录的剩余空间。
$df = diskfreespace("/"); ?> fclose 关闭已打开的文件。 语法: int fclose(int fp); 返回值: 整数 函数种类: 文件存取 内容说明:本函数用来关闭已经打开的文件的指针 fp。成功返回 true,失败则返回 false。其中的文件指针必须是有效的,且必须是已经用 fopen() 或 fsockopen() 成功开文件的指针。 feof 测试文件指针是否指到文件尾。 语法: int feof(int fp); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数测试文件的指针是否指到文件尾 (end of file, eof)。若是成功或发生错误则返回 true 值,其它情形返回 false 值。其中的文件指针必须是有效的,且必须是已经用 fopen()、popen() 或 fsockopen() 成功开文件的指针。 fgetc 取得文件指针所指的字符。 语法: string fgetc(int fp); 返回值: 字符串 函数种类: 文件存取 内容说明: 本函数取得文件指针所指的字符,返回字符串类型的字符。指针若在 eof 则返回 false。其中的文件指针必须是有效的,且必须是已经用 fopen()、popen() 或 fsockopen() 成功开文件的指针。 参考 fread() fopen() popen() fsockopen() fgets() fgetcsv 取得文件指针所指行,并解析 csv 字段。 语法: array fgetcsv(int fp, int length, string [delimiter]); 返回值: 数组 函数种类: 文件存取 内容说明: 本函数与 fgets() 的功用类似,不同的地方在于本函数用来解析读取行的 csv 字段资料,并将其放入数组变量之中。其中的第三个参数 delimiter 若未指定,则使用内定值:逗号。其中的文件指针 fp 必须是有效的,且必须是已经用 fopen()、popen() 或 fsockopen() 成功开文件的指针。而第二个参数 length 的值必须要比 csv 文件最长一行的字符数还大。本函数若发生错误或者到文件尾 (eof, end of file),则会返回 false 值。若遇到空行,则传到数组结构的字符为空字符字段 (null),而不是当作发生错误的情形。 使用范例
$row=1; $fp = fopen("mycsv.csv","r"); while ($data = fgetcsv($fp,1000, ",")) { $num = count($data); print " 字段 $num 在第 $row 行:
";
$row++; for ( $c=0; $c<$num; $c++ ) print $data[$c] . "
";
} fclose($fp); ?> fgets 取得文件指针所指的行。 语法: string fgets(int fp, int length); 返回值: 字符串 函数种类: 文件存取 内容说明: 本函数取得文件指针所指的行,返回字符串长度为行的长度减一。若发生错误则返回 false。一般常遇到的陷阱是用 c 语言的经验 来使用本函数,而 eof 时的处理方式则和 c 语言的 fgets() 不同。其中的文件指针必须是有效的,且必须是已经用 fopen()、popen() 或 fsockopen() 成功开文件的指针。 使用范例
$fd = fopen("/tmp/myfile.txt", "r"); while ($buffer = fgets($fd, 4096)) { echo $buffer; } fclose($fd); ?> 参考: fread() fopen() popen() fsockopen() fgetc() fgetss 取得文件指针所指的行,并去掉 html 语言标记。 语法: string fgetss(int fp, int length); 返回值: 字符串 函数种类: 文件存取 内容说明 本函数除了 fgets() 的功能,并同时去掉取回字符串中的 html 语言及 php 语法的标记字符串。 参考: fopen() popen() fsockopen() fgets() strip_tags() file 将文件全部读入数组变量中。 语法: array file(string filename); 返回值: 数组 函数种类: 文件存取 内容说明: 本函数与 readfile() 类似,不同的地方为本函数将文件全部读出,并输出到数组的变量中,每行都是单独的数组元素。 参考: fopen() popen() readfile() file_exists 检查文件是否存在。 语法: int file_exists(string filename); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数用来测试检查文件是否存在,返回 true 表示文件存在。返回值放在快取缓冲区中,可以参考 clearstatcache()。 fileatime 取得文件最后的存取时间。 语法: int fileatime(string filename); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数返回指定文件 filename 的最后存取时间。返回 false 表示发生错误。返回值放在快取缓冲区中,可以参考 clearstatcache()。 filectime 取得文件最后的改变时间。 语法: int filectime(string filename); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数返回指定文件 filename 的 inode 最后改变时间。返回 false 表示发生错误。返回值放在快取缓冲区中,可以参考 clearstatcache()。 filegroup 取得文件所属的群组。 语法: int filegroup(string filename); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数返回指定文件的群组使用者 gid 值。返回 false 表示发生错误。返回值放在快取缓冲区中,可以参考 clearstatcache()。 fileinode 取得文件的 inode 值。 语法: int fileinode(string filename); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数返回指定文件的 inode 值。返回 false 表示发生错误。返回值放在快取缓冲区中,可以参考 clearstatcache()。 filemtime 取得文件最后的修改时间。 语法: int filemtime(string filename); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数返回指定文件 filename 的最后修改时间。返回 false 表示发生错误。返回值放在快取缓冲区中,可以参考 clearstatcache()。 使用范例 以下是benbatten@home.com(29-apr-1999) 在 win95 上的实作范例,例中返回当页 homepage 的最后修改时间并将 filemtime() 返回的unix 格式的时间字符串转换成 12 小时制的字符串。 (注:由于本例的文件为 __file__ 表示目前的文件,其实和使用 getlastmod() 函数有相同的效果。)
$filemod = filemtime(__file__); $filemodtime = date("f j y h:i:s a", $filemod); print("本页最后修改时间: $filemodtime"); ?> fileowner 取得文件的拥有者。 语法: int fileowner(string filename); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数返回指定文件拥有者的 uid 值。返回 false 表示发生错误。返回值放在快取缓冲区中,可以参考 clearstatcache()。 fileperms 取得文件的权限配置。 语法: int fileperms(string filename); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数返回指定文件的权限配置值。返回 false 表示发生错误。返回值放在快取缓冲区中,可以参考 clearstatcache()。 filesize 获得文件的大小。 语法: int filesize(string filename); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数返回指定文件的文件大小。返回 false 表示发生错误。返回值放在快取缓冲区中,可以参考 clearstatcache()。 filetype 获得文件的类型。 语法: string filetype(string filename); 返回值: 字符串 函数种类: 文件存取 内容说明: 本函数返回指定文件的文件类型。可能的返回类型有 fifo、char、dir、block、link、file 及 unknown 等等。返回 false 表示 发生错误。返回值放在快取缓冲区中,可以参考 clearstatcache()。 flock 锁住文件。 语法: boolean flock(int fp, int operation); 返回值: 布尔值 函数种类: 文件存取 内容说明: 本函数用来锁住文件,使别的行程无法存取。传入的参数 fp 为文件的指针。参数 operation 的值为下列的数字之一:1 表示配置 锁住文件可以允许别的行程读取;2 表示只有该行程可以写入文件;3 表示读写均锁住;4 则不锁住区块 (block)。而本函数无论在 unix 或 是 windows 系列中的锁住效果都相近。执行成功则返回 true 值,否则返回 false 值。 fopen 打开文件或者 url。 语法: int fopen(string filename, string mode); 返回值: 整数 函数种类: 文件存取 内容说明: 说明: 本函数可用来打开本地或者远端的文件。若参数 filename 为 "http://......" 则本函数利用 http 1.0 协议与服务器连接,文件指针则指到服务器返回文件的起始处。若参数 filename 为 "ftp://......." 则本函数会与服务器连接,文件指针指到指定的文件处。若 ftp 服务器没有支持被动模式 (passive mode ftp) 则返回失败值。打开的 ftp 文件可以是读取或写入其中之一,但不能读或写二种同时使用。其它的情形,本函数打开本地的文件,文件的指针则指向打开的文件。若开文件失败,则返回 false 值。 字符串参数 mode 可以是下列的情形: 'r' 开文件方式为只读,文件指针指到开始处。 'r+' 开文件方式为可读写,文件指针指到开始处。 'w' 开文件方式为写入,文件指针指到开始处,并将原文件的长度设为 0。若文件不存在,则建立新文件。 'w+' 开文件方式为可读写,文件指针指到开始处,并将原文件的长度设为 0。若文件不存在,则建立新文件。 'a' 开文件方式为写入,文件指针指到文件最后。若文件不存在,则建立新文件。 'a+' 开文件方式为可读写,文件指针指到文件最后。若文件不存在,则建立新文件。 'b' 若操作系统的文字及二进位文件不同,则可以用此参数,unix 系统不需要使用本参数。 使用范例 第一行为 unix 系统使用;第二行是 windows 系列系统的用法;第三、四行则为 url 的使用范例。
$fp = fopen("/home/rasmus/file.txt", "r"); $fp = fopen("c:\\mydata\\info.txt", "r"); $fp = fopen("http://www.php.net/", "r"); $fp = fopen("ftp://user:password@my.com/", "w"); ?> 参考 fclose() popen() fsockopen() fpassthru 输出所有剩余资料。 语法: int fpassthru(int fp); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数读取文件 fp 直到文件尾 (end of file, eof),并将资料输出到标准输出 (standard output)。若有错误发生,则返回false 值。而文件 fp 必须由 fopen()、popen() 或 fsockopen() 打开成功的指针。当本函数读完文件,会自动将文件关闭,即 fp 变无效。如果只是要将文件输出到标准输出,可以使用 readfile() 会比用 fopen() 更好。 参考: readfile() fopen() fclose() popen() fsockopen() fputs 写到文件指针。 语法: int fputs(int fp, string str, int [length]); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数即 fwrite(),只是一个别名。用来将字符串 str 写到文件指针。 fread 位组的方式读取文件。 语法: string fread(int fp, int length); 返回值: 字符串 函数种类: 文件存取 内容说明: 本函数读到指定长度的位组或到文件尾 eof。 使用范例
$filename = "/usr/local/myfile.txt"; $fd = fopen( $filename, "r" ); $contents = fread($fd, filesize($filename)); fclose( $fd ); ?> 参考: readfile() fopen() fclose() fwrite() fgets() fgetss() file() fpassthru() popen() fsockopen() fseek 移动文件指针。 语法: int fseek(int fp, int offset); 返回值: 整数 函数种类: 文件存取 内容说明: 本函数将文件 fp 的指针移到指定的偏移位 (offset) 上。使用本函数就像 c 语言中的 fseek(fp, offset, seek_set) 函数。成 功则返回 0,失败则返回 -1 值。当 fp 由 fopen() 打开 "http://...." 或是 "ftp://...." 等 url 文件时,本函数无法作用。 参考: ftell() rewind()
12下一页
分享到:

猜您喜欢

文章评论

相关分类
  1. C和C++
  2. JAVA
  3. .NET
  4. PHP
  5. VB
  6. Delphi
  7. ASP
mr007