PHP 文件系统函数库 (2) 晴

jed , 2007-4-14 08:30 , 代码编程 , 评论(0) , 阅读(4204) , Via 本站原创 | |
 fgets 取得文件指针所指的行。
  语法: string fgets(int fp, int length);
  返回值: 字符串
  函数种类: 文件存取
  内容说明: 本函数取得文件指针所指的行,返回字符串长度为行的长度减一。若发生错误则返回 false。一般常遇到的陷阱是用 C 语言的经验来使用本函数,而 EOF 时的处理方式则和 C 语言的 fgets() 不同。其中的文件指针必须是有效的,且必须是已经用 fopen()、popen() 或 fsockopen() 成功开文件的指针。

  使用范例

  <?php
    $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()。

  使用范例,例中返回当页 Homepage 的最后修改时间并将 filemtime() 返回的 UNIX 格式的时间字符串转换成 12 小时制的字符串。(注:由于本例的文件为 __FILE__ 表示目前的文件,其实和使用 getlastmod() 函数有相同的效果。)

  <?php
    $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:mydatainfo.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。

  使用范例

  <?php
    $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()

  ftell 取得文件读写指针位置。
  语法: int ftell(int fp);
  返回值: 整数
  函数种类: 文件存取
  内容说明: 本函数返回文件 fp 的指针偏移位 (offset) 值。当发生错误时,返回 false 值。文件指针 fp 必须是有效的,且使用 fopen() 或者 popen() 二个函数打开方可作用。
  参考: fopen() popen() fseek() rewind()

  fwrite 二进位位方式写入文件。
  语法: int fwrite(int fp, string string, int [length]);
  返回值: 整数
  函数种类: 文件存取
  内容说明: 本函数将字符串 string 写入文件资料流的指针 fp 上。若有指定长度 length,则会写入指定长度字符串,或是写到字符串结束。治募注意的是若指定了长度,则在 PHP 环境配置值 magic_quotes_runtime 的配置将被忽略,同时字符串中的斜线不会被删除。
  参考: fread() fopen() popen() fsockopen() fputs()

  set_file_buffer 配置文件缓冲区大小。
  语法: int set_file_buffer(int fp, int buffer);
  返回值: 整数
  函数种类: 文件存取
  内容说明: 本函数配置文件的缓冲区大小供写入文件使用。若 buffer 值设为 0,则在写入操作时无缓冲区。成功则返回 0 值。值得注意的是当文件打开 (fopen) 时,会使用本函数将默认的缓冲区设为 8k。
  参考: fopen()

  is_dir 测试文件是否为目录。
  语法: boolean is_dir(string filename);
  返回值: 布尔值
  函数种类: 文件存取
  内容说明: 本函数返回 true 值则表示指定的 filename 为目录名称。返回值放在快取缓冲区中,可以参考 clearstatcache()。若用 is_dir(".."); 的方式,返回的也是 true。
  参考: is_file() is_link()

  is_executable 测试文件是否为可执行文件。
  语法: boolean is_executable(string filename);
  返回值: 布尔值
  函数种类: 文件存取
  内容说明: 本函数返回 true 值则表示指定的 filename 存在并为可执行文件。返回值放在快取缓冲区中,可以参考 clearstatcache()。
  参考: is_file() is_link()

Tags:
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]