叁柒設計 三七设计 Three seven design 我的学习与分享
详细信息
来自:关键字:

PHP4手册:函数库及函数(十六) 文件系统函式库-2

  December 21th,2008 22:39:58   Category : PHP+Mysql
 Click (932)

--------------------------------------------------------------------------------
 函式:file() 
--------------------------------------------------------------------------------
 


档案系统函式库


file
将档案全部读入阵列变数中。

语法: array file(string filename);

传回值: 阵列

函式种类: 档案存取


 
 
内容说明 


本函式与 readfile() 类似,不同的地方为本函式将档案全部读出,并输出到阵列的变数中,每行都是单独的阵列元素。


 
 
参考 


fopen()  popen()  readfile()  
 

--------------------------------------------------------------------------------
 函式:file_exists() 
--------------------------------------------------------------------------------
 


档案系统函式库


file_exists
检查档案是否存在。

语法: int file_exists(string filename);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式用来测试检查档案是否存在,传回 true 表示档案存在。传回值放在快取缓冲区中,可以参考 clearstatcache()。
 

--------------------------------------------------------------------------------
 函式:fileatime() 
--------------------------------------------------------------------------------
 


档案系统函式库


fileatime
取得档案最后的存取时间。

语法: int fileatime(string filename);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式传回指定档案 filename 的最后存取时间。传回 false 表示发生错误。传回值放在快取缓冲区中,可以参考 clearstatcache()。
 

--------------------------------------------------------------------------------
 函式:filectime() 
--------------------------------------------------------------------------------
 


档案系统函式库


filectime
取得档案最后的改变时间。

语法: int filectime(string filename);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式传回指定档案 filename 的 inode 最后改变时间。传回 false 表示发生错误。传回值放在快取缓冲区中,可以参考 clearstatcache()。
 

--------------------------------------------------------------------------------
 函式:filegroup() 
--------------------------------------------------------------------------------
 


档案系统函式库


filegroup
取得档案所属的群组。

语法: int filegroup(string filename);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式传回指定档案的群组使用者 GID 值。传回 false 表示发生错误。传回值放在快取缓冲区中,可以参考 clearstatcache()。
 

--------------------------------------------------------------------------------
 函式:fileinode() 
--------------------------------------------------------------------------------
 


档案系统函式库


fileinode
取得档案的 inode 值。

语法: int fileinode(string filename);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式传回指定档案的 inode 值。传回 false 表示发生错误。传回值放在快取缓冲区中,可以参考 clearstatcache()。
 

--------------------------------------------------------------------------------
 函式:filemtime() 
--------------------------------------------------------------------------------
 


档案系统函式库


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() 
--------------------------------------------------------------------------------
 


档案系统函式库


fileowner
取得档案的拥有者。

语法: int fileowner(string filename);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式传回指定档案拥有者的 UID 值。传回 false 表示发生错误。传回值放在快取缓冲区中,可以参考 clearstatcache()。
 

--------------------------------------------------------------------------------
 函式:fileperms() 
--------------------------------------------------------------------------------
 


档案系统函式库


fileperms
取得档案的权限设定。

语法: int fileperms(string filename);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式传回指定档案的权限设定值。传回 false 表示发生错误。传回值放在快取缓冲区中,可以参考 clearstatcache()。
 

--------------------------------------------------------------------------------
 函式:filesize() 
--------------------------------------------------------------------------------
 


档案系统函式库


filesize
获得档案的大小。

语法: int filesize(string filename);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式传回指定档案的档案大小。传回 false 表示发生错误。传回值放在快取缓冲区中,可以参考 clearstatcache()。
 
函式:filetype() 
--------------------------------------------------------------------------------
 


档案系统函式库


filetype
获得档案的型态。

语法: string filetype(string filename);

传回值: 字串

函式种类: 档案存取


 
 
内容说明 


本函式传回指定档案的档案型态。可能的传回型态有 fifo、char、dir、block、link、file 及 unknown 等等。传回 false 表示发生错误。传回值放在快取缓冲区中,可以参考 clearstatcache()。
 

--------------------------------------------------------------------------------
 函式:flock() 
--------------------------------------------------------------------------------
 


档案系统函式库


flock
锁住档案。

语法: boolean flock(int fp, int operation);

传回值: 布林值

函式种类: 档案存取


 
 
内容说明 


本函式用来锁住档案,使别的行程无法存取。传入的参数 fp 为档案的指标。参数 operation 的值为下列的数字之一:1 表示设定锁住档案可以允许别的行程读取;2 表示只有该行程可以写入档案;3 表示读写均锁住;4 则不锁住区块 (block)。而本函式无论在 UNIX 或是 Windows 系列中的锁住效果都相近。执行成功则传回 true 值,否则传回 false 值。

--------------------------------------------------------------------------------
 函式:fopen() 
--------------------------------------------------------------------------------
 


档案系统函式库


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() 
--------------------------------------------------------------------------------
 


档案系统函式库


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() 
--------------------------------------------------------------------------------
 


档案系统函式库


fputs
写到档案指标。

语法: int fputs(int fp, string str, int [length]);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式即 fwrite(),只是一个别名。用来将字串 str 写到档案指标。


 函式:fread() 
--------------------------------------------------------------------------------
 


档案系统函式库


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() 
--------------------------------------------------------------------------------
 


档案系统函式库


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() 
--------------------------------------------------------------------------------
 


档案系统函式库


ftell
取得档案读写指标位置。

语法: int ftell(int fp);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式传回档案 fp 的指标偏移位元 (offset) 值。当发生错误时,传回 false 值。档案指标 fp 必须是有效的,且使用 fopen() 或者 popen() 二个函式开启方可作用。


 
 
参考 


fopen()  popen()  fseek()  rewind()  
 

--------------------------------------------------------------------------------
 函式:fwrite() 
--------------------------------------------------------------------------------
 


档案系统函式库


fwrite
二进位位元方式写入档案。

语法: int fwrite(int fp, string string, int [length]);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式将字串 string 写入档案资料流的指标 fp 上。若有指定长度 length,则会写入指定长度字串,或是写到字串结束。值得注意的是若指定了长度,则在 PHP 环境设定值 magic_quotes_runtime 的设定将被忽略,同时字串中的斜线不会被删除。


 
 
参考 


fread()  fopen()  popen()  fsockopen()  fputs()  
 

--------------------------------------------------------------------------------
 函式:set_file_buffer() 
--------------------------------------------------------------------------------
 


档案系统函式库


set_file_buffer
设定档案缓冲区大小。

语法: int set_file_buffer(int fp, int buffer);

传回值: 整数

函式种类: 档案存取


 
 
内容说明 


本函式设定档案的缓冲区大小供写入档案使用。若 buffer 值设为 0,则在写入操作时无缓冲区。成功则传回 0 值。值得注意的是当档案开启 (fopen) 时,会使用本函式将内定的缓冲区设为 8k。


 
 
参考 


fopen()  
 

--------------------------------------------------------------------------------
 函式:is_dir() 
--------------------------------------------------------------------------------
 


档案系统函式库


is_dir
测试档案是否为目录。

语法: boolean is_dir(string filename);

传回值: 布林值

函式种类: 档案存取


 
 
内容说明 


本函式传回 true 值则表示指定的 filename 为目录名称。传回值放在快取缓冲区中,可以参考 clearstatcache()。

注意: php@wastelan.com (11-Jun-1999) 指出若用 is_dir("..");
的方式,传回的也是 true。


 
 
参考 


is_file()  is_link()  

--------------------------------------------------------------------------------
 函式:is_executable() 
--------------------------------------------------------------------------------
 


档案系统函式库


is_executable
测试档案是否为可执行档。

语法: boolean is_executable(string filename);

传回值: 布林值

函式种类: 档案存取


 
 
内容说明 


本函式传回 true 值则表示指定的 filename 存在并为可执行档。传回值放在快取缓冲区中,可以参考 clearstatcache()。


 
 
参考 


is_file()  is_link() 

[ 资讯评论 ]
暂时没有任何评论!
[ 提交评论 ]
请选择表情
  • 昵称:
  • *
  • 验证码:
  • *点击更换验证码
  • 尚能输入个字符
申明:本网站部分分享内容来自网络,如有侵权请及时与我联系,谢谢,另网友评论仅代表个人观点,与本站立场无关,如果在评论中发表违反我国任何法律的,请即时与我们联系(QQ:77132915),我们将立即予以删除. [ 注:提交评论后,通过审核后方能在网站上显示!]