PHP技巧:PHP腳本編程中的文件系統函數庫_PHP教程
推薦:PHP技巧:PHP腳本中關于拼寫檢查函數庫aspell_new : 載入一個新的字典。 aspell_check : 檢查一個單字。 aspell_check-raw : 檢查一個單字,即使拼錯也不改變或修正。 aspell_suggest : 檢查一個單字,并提供拼寫建議。
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"
<?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 失敗...<br>\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 "<p>字段 $num 在第 $row 行: <br>";
$row ;
for ( $c=0; $c<$num; $c ) print $data[$c] . "<br>";
}
fclose($fp);
?>
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()。
使用范例
以下是 benbatten@home.com (29-apr-1999) 在 win95 上的實作范例,例中返回當頁 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:\\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。
使用范例
<?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()。
注意: php@wastelan.com (11-jun-1999) 指出若用 is_dir("..");的方式,返回的也是 true。
參考: is_file() is_link()
is_executable
測試文件是否為可執行文件。
語法: boolean is_executable(string filename);
返回值: 布爾值
函數種類: 文件存取
內容說明: 本函數返回 true 值則表示指定的 filename 存在并為可執行文件。返回值放在快取緩沖區中,可以參考 clearstatcache()。
參考: is_file() is_link()
is_file
測試文件是否為正常文件。
語法: boolean is_file(string filename);
返回值: 布爾值
函數種類: 文件存取
內容說明: 本函數返回 true 值則表示指定的 filename 存在并為正常的文件。返回值放在快取緩沖區中,可以參考 clearstatcache()。
參考: is_dir() is_link()
is_link
測試文件是否為鏈接文件。
語法: boolean is_link(string filename);
返回值: 布爾值
函數種類: 文件存取
內容說明: 本函數返回 true 值則表示指定的 filename 存在并為符號鏈接文件 (symbolic link)。返回值放在快取緩沖區中,可以參考
clearstatcache()。
參考: is_dir() is_file()
is_readable
測試文件是否可讀取。
語法: boolean is_readable(string filename);
返回值: 布爾值
函數種類: 文件存取
內容說明: 本函數返回 true 值則表示指定的 filename 存在并且可讀取。返回值放在快取緩沖區中,參考 clearstatcache()。
參考: is_writeable()
is_writeable
測試文件是否可寫入。
語法: boolean is_writeable(string filename);
返回值: 布爾值
函數種類: 文件存取
內容說明: 本函數返回 true 值則表示指定的 filename 存在并且可讀取。參數 filename 也可以是目錄名稱,用來測試該目錄是否可寫入。
返回值放在快取緩沖區中,參考 clearstatcache()。
參考: readable()
link
建立硬式鏈接。
語法: int link(string target, string link);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數建立硬式鏈接,用來將參數 link 鏈接至 target。
參考: symlink() readlink() linkinfo()
linkinfo
取得鏈接信息。
語法: int linkinfo(string path);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數使用系統呼叫 lstat,返回 unix 上 c 語言 stat 結構類型的 st_dev 字段。返回 0 或 false 表示發生錯誤。
參考: symlink() readlink() link()
mkdir
建立目錄。
語法: int mkdir(string pathname, int mode);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數建立參數 pathname 目錄,參數 mode 以八進位的方式指定 (在參數前加 0) 比較不會出錯。返回 true 表示成功,失敗則
返回 false。
使用范例
下例就是用八進位的例子,建立 /path/to/my/dir 目錄,該目錄只有擁有者及 root 等級可讀寫執行,其它人無法使用。
<?php
mkdir("/path/to/my/dir", 0700);
?>
參考: rmdir()
pclose
關閉文件。
語法: int pclose(int fp);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數用來關閉以 popen() 打開的管道文件。而參數 fp 必需是有效的,且使用 popen() 打開的文件。返回結處理文件的結束狀
態。
參考: popen()
popen
打開文件。
語法: int popen(string command, string mode);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數執行指令開檔,而該文件是用管道方式處理的文件。用本函數打開的文件只能是單向的 (只能讀或只能寫),而且一定要用
pclose() 關閉。在文件操作上可使用 fgets()、fgetss() 與 fputs()。若是開檔發生錯誤,返回 false 值。
使用范例
<?
$fp = popen( "/bin/ls", "r" );
?>
參考: pclose()
readfile
輸出文件。
語法: int readfile(string filename);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數讀取文件,并將文件內容寫入標準輸出設備中。返回值是讀取的文件大小。若有錯誤返回 false 值,可以在函數前面加入 @,變成 @readfile,就可以隱藏起來。和 fopen() 用法一樣,若參數 filename 為 "http://......" 則本函數利用 http 1.0 協議與服務器連接,文件指針則指到服務器返回文件的起始處。若參數 filename 為 "ftp://......." 則本函數會與服務器連接,文件指針指到指定的文件處。若 ftp 服務器沒有支持被動模式 (passive mode ftp) 則返回失敗值。打開的 ftp 文件可以是讀取或寫入其中之一,但不能讀或寫二種同時使用。其它的情形,本函數打開本地的文件,文件的指針則指向打開的文件。若開檔失敗,則返回 false 值。
參考: fpassthru() file() fopen()
readlink
返回符號鏈接 (symbolic link) 目標檔。
語法: string readlink(string path);
返回值: 字符串
函數種類: 文件存取
內容說明: 本函數和 c 語言的同名函數用法相同,返回符號鏈接的文件。若發生錯誤則返回 0。
參考: symlink() linkinfo()
rename
更改檔名。
語法: int rename(string oldname, string newname);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數可將舊檔名 oldname 改成新檔名 newname。成功則返回 true、失敗則返回 false。
rewind
重置開檔的讀寫位置指針。
語法: int rewind(int fp);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數重置文件的讀寫位置指針到標案的開頭處。發生錯誤則返回 0。文件 fp 必須是有效且用 fopen() 打開的文件。
使用范例
fseek ftell
rmdir
刪除目錄。
語法: int rmdir(string dirname);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數可用來刪除目錄。欲刪除的路徑必須是空的目錄,且權限必須要合乎要求。發生錯誤則返回 0。
參考: mkdir()
stat
取得文件相關信息。
語法: array stat(string filename);
返回值: 數組
函數種類: 文件存取
內容說明: 本函數可蒐集文件的相關信息,并返回數組。數組的元素依序如下:
裝置名稱 (device)
inode 值
inode 文件模式
參照到該檔的名稱總數,含 link 檔。
擁有者的 uid
擁有者的 gid
若為字符或裝置設備則為裝置類型 (限系統支持 st_blksize 方有效,windows 系列返回 -1)
位組為單位的文件長度
最后存取時間
最后修改時間
最后改動時間
文件系統的區塊大小 (限系統支持 st_blksize 方有效,windows 系列返回 -1)
匹配的區塊數
返回值放在快取緩沖區中,參考 clearstatcache()。
lstat
取得鏈接文件相關信息。
語法: array lstat(string filename);
返回值: 數組
函數種類: 文件存取
內容說明: 本函數可蒐集鏈接文件的相關信息,并返回數組。數組的元素依序如下:
裝置名稱 (device)
inode 值
鏈接 (link) 到該文件的總數。
擁有者的 uid
擁有者的 gid
若為字符或裝置設備則為裝置類型 (限系統支持 st_blksize 方有效,windows 系列返回 -1)
位組為單位的文件長度
最后存取時間
最后修改時間
最后改動時間
文件系統的區塊大小 (限系統支持 st_blksize 方有效,windows 系列返回 -1)
匹配的區塊數
返回值放在快取緩沖區中,參考 clearstatcache()。
symlink
建立符號鏈接 (symbolic link)。
語法: int symlink(string target, string link);
返回值: 整數
函數種類: 文件存取
內容說明
本函數可用來建立符號鏈接。從參數 target 鏈接到 link 處。建立硬式鏈接可用 link() 函數。
參考: link() readlink() linkinfo()
tempnam
建立只一的臨時檔。
語法: string tempnam(string dir, string prefix);
返回值: 字符串
函數種類: 文件存取
內容說明: 本函數可建立一個臨時檔,檔名不會與同目錄中的文件重覆。返回字符串就是建立的臨時檔名。若發生錯誤則返回空字符串。
使用范例
<?
$tmpfname = tempnam( "/tmp", "haha" );
?>
touch
配置最后修改時間。
語法: int touch(string filename, int [time]);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數可用來配置最后修改時間。若有指定參數 time,則依指定的時間;若無指定時間,則為服務器的時間。和 unix 的同名指令
一樣,若文件不存在,則會建立 filename 文件。成功則返回 true 值,其它失敗時則返回 false。
umask
改變目前的文件屬性遮罩 umask。
語法: int umask(int [mask]);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數用來配置 php 的 umask 值。此值是 mask 與 0777 運算的值,返回舊的 umask 值。當參數 mask 不存在時,本函數將返回目前的 umask 值。
unlink
刪除文件。
語法: int unlink(string filename);
返回值: 整數
函數種類: 文件存取
內容說明: 本函數刪除文件 filename,用法像 unix 中 c 語言呼叫的同名函數 unlink()。當發生錯誤則返回 0 或 false。
參考: rmdir()
分享:PHP技巧:Smarty adodb分頁示例利用Smarty adodb分頁示例, 下面給出的是分頁部份的代碼。 分頁文件:page.lbi 以下為引用的內容: <table width="100%"
- 相關鏈接:
- 教程說明:
PHP教程-PHP技巧:PHP腳本編程中的文件系統函數庫。