PHP技巧:PHP腳本編程中的文件系統(tǒng)函數(shù)庫(kù)_PHP教程
推薦:PHP技巧:PHP腳本中關(guān)于拼寫(xiě)檢查函數(shù)庫(kù)aspell_new : 載入一個(gè)新的字典。 aspell_check : 檢查一個(gè)單字。 aspell_check-raw : 檢查一個(gè)單字,即使拼錯(cuò)也不改變或修正。 aspell_suggest : 檢查一個(gè)單字,并提供拼寫(xiě)建議。
basename: 返回不含路徑的文件字符串。
chgrp: 改變文件所屬的群組。
chmod: 改變文件的屬性。
chown: 改變文件的擁有者。
clearstatcache: 清除文件狀態(tài)快取。
copy: 復(fù)制文件。
delete: 無(wú)用的項(xiàng)目。
dirname: 取得路徑中的目錄名。
diskfreespace: 取得目錄所在的剩余可用空間。
fclose: 關(guān)閉已打開(kāi)的文件。
feof: 測(cè)試文件指針是否指到檔尾。
fgetc: 取得文件指針?biāo)傅淖址?/p>
fgetcsv: 取得文件指針?biāo)感�,并解�?csv 字段。
fgets: 取得文件指針?biāo)傅男小?/p>
fgetss: 取得文件指針?biāo)傅男�,并去�?html 語(yǔ)言標(biāo)記。
file: 將文件全部讀入數(shù)組變量中。
file_exists: 檢查文件是否存在。
fileatime: 取得文件最后的存取時(shí)間。
filectime: 取得文件最后的改變時(shí)間。
filegroup: 取得文件所屬的群組。
fileinode: 取得文件的 inode 值。
filemtime: 取得文件最后的修改時(shí)間。
fileowner: 取得文件的擁有者。
fileperms: 取得文件的權(quán)限配置。
filesize: 獲得文件的大小。
filetype: 獲得文件的類(lèi)型。
flock: 鎖住文件。
fopen: 打開(kāi)文件或者 url。
fpassthru: 輸出所有剩余資料。
fputs: 寫(xiě)到文件指針。
fread: 位組的方式讀取文件。
fseek: 移動(dòng)文件指針。
ftell: 取得文件讀寫(xiě)指針位置。
fwrite: 二進(jìn)位位方式寫(xiě)入文件。
set_file_buffer: 配置文件緩沖區(qū)大小。
is_dir: 測(cè)試文件是否為目錄。
is_executable: 測(cè)試文件是否為可執(zhí)行檔。
is_file: 測(cè)試文件是否為正常文件。
is_link: 測(cè)試文件是否為鏈接檔。
is_readable: 測(cè)試文件是否可讀取。
is_writeable: 測(cè)試文件是否可寫(xiě)入。
link: 建立硬式鏈接。
linkinfo: 取得鏈接信息。
mkdir: 建立目錄。
pclose: 關(guān)閉文件。
popen: 打開(kāi)文件。
readfile: 輸出文件。
readlink: 返回符號(hào)鏈接 (symbolic link) 目標(biāo)檔。
rename: 更改檔名。
rewind: 重置開(kāi)檔的讀寫(xiě)位置指針。
rmdir: 刪除目錄。
stat: 取得文件相關(guān)信息。
lstat: 取得鏈接檔相關(guān)信息。
symlink: 建立符號(hào)鏈接 (symbolic link)。
tempnam: 建立只一的臨時(shí)檔。
touch: 配置最后修改時(shí)間。
umask: 改變目前的文件屬性遮罩 umask。
unlink: 刪除文件。
basename
返回不含路徑的文件字符串。
語(yǔ)法: string basename(string path);
返回值: 字符串
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 將含路徑及文件字符串中的路徑拿掉,返回只含文件名的字符串。在 windows 系列的操作系統(tǒng)中,路徑可以是斜線(xiàn) (/) 或反斜線(xiàn) (\);在 unix 系列的操作系統(tǒng),路徑為斜線(xiàn) (/)。
使用范例
下例中的 $file 變量值為 "index.php"
<?php
$path = "/home/httpd/html/index.php";
$file = basename($path);
?>
參考 dirname()
chgrp
改變文件所屬的群組。
語(yǔ)法: int chgrp(string filename, mixed group);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明 本函數(shù)用來(lái)改變文件所屬的群組,只有系統(tǒng)管理員權(quán)限可以任意改變文件所屬群組,其余的使用者都只能改變本身?yè)碛械奈募�。成功返�?true,失敗返回 false;在 windows 系列操作系統(tǒng)中,本函數(shù)什么也不做就返回 true。
參考 chown() chmod()
chmod
改變文件的屬性。
語(yǔ)法: int chmod(string filename, int mode);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)改變文件的屬性。成功則返回 true、失敗返回 false。在 mode 值中,系統(tǒng)不會(huì)自動(dòng)將它加入 0 以獲得正確的八進(jìn)位演算,若要正確的使用,可以用下例第二行的方式。
使用范例
下二行都是將文件屬性設(shè)為 rwxr-xr-x,但以第二行較好。
<?
chmod("/mydir/myfile", 755 ); // mode 為十進(jìn)位,可能有潛在錯(cuò)誤
chmod("/mydir/myfile", 0755 ); // mode 為八進(jìn)位,確定的屬性值
?>
參考 chown() chgrp()
chown
改變文件的擁有者。
語(yǔ)法: int chown(string filename, mixed user);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)改變文件的擁有人,只有系統(tǒng)管理員權(quán)限可以任意改變文件所屬群組,其余的使用者都只能改變本身?yè)碛械奈募�。成功返�?true,失敗返回 false;在 windows 系列操作系統(tǒng)中,本函數(shù)什么也不做就返回 true。
參考 chmod()
clearstatcache
清除文件狀態(tài)快取。
語(yǔ)法: void clearstatcache(void);
返回值: 無(wú)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明 對(duì)操作系統(tǒng)而言,使用 stat() 或 lstat() 二個(gè)函數(shù)是很耗資源的,尤其是當(dāng)每次都要重新呼叫 stat() 及 lstat() 二個(gè)函數(shù)時(shí),更是不經(jīng)濟(jì)的方式。因此為節(jié)省資源,php 系統(tǒng)會(huì)將文件狀態(tài)放在快取內(nèi)存中,以便隨時(shí)使用。而本函數(shù)就是提供清除快取內(nèi)存中文件信息的函數(shù)。受本函數(shù)影響的函數(shù)有 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() 等十八個(gè)。
參考 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
復(fù)制文件。
語(yǔ)法: int copy(string source, string dest);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)復(fù)制文件。成功則返回 true、失敗返回 false。
使用范例
本例復(fù)制文件,失敗時(shí)顯示復(fù)制失敗的信息。
<?
if (!copy($file, $file.'.bak')) {
print("復(fù)制文件 $file 失敗...<br>\n");
}
?>
參考 rename()
delete
無(wú)用的項(xiàng)目。
語(yǔ)法: void delete(string file);
返回值: 無(wú)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)為無(wú)用的項(xiàng)目。要?jiǎng)h除文件用 unlink()、要?jiǎng)h去變量用 unset()。
參考 unlink() unset()
dirname
取得路徑中的目錄名。
語(yǔ)法: string dirname(string path);
返回值: 字符串
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回 path 中的目錄名稱(chēng)。在 win32 系統(tǒng)中,用斜線(xiàn) (/) 或者反斜線(xiàn) (\) 都可以;但是其它的操作系統(tǒng)的路徑都是 (/)。
使用范例
本例返回字符串 $file 為 "/etc"。
<?
$path = "/etc/hostname";
$file = dirname($path);
?>
參考 basename()
diskfreespace
取得目錄所在的剩余可用空間。
語(yǔ)法: float diskfreespace(string directory);
返回值: 浮點(diǎn)數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)取得目錄所在儲(chǔ)存裝置的剩余空間,單位為位組 (byte)。
使用范例
本例可以知道根目錄的剩余空間。
<?
$df = diskfreespace("/");
?>
fclose
關(guān)閉已打開(kāi)的文件。
語(yǔ)法: int fclose(int fp);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明:本函數(shù)用來(lái)關(guān)閉已經(jīng)打開(kāi)的文件的指針 fp。成功返回 true,失敗則返回 false。其中的文件指針必須是有效的,且必須是已經(jīng)用 fopen() 或 fsockopen() 成功開(kāi)文件的指針。
feof
測(cè)試文件指針是否指到文件尾。
語(yǔ)法: int feof(int fp);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)測(cè)試文件的指針是否指到文件尾 (end of file, eof)。若是成功或發(fā)生錯(cuò)誤則返回 true 值,其它情形返回 false 值。其中的文件指針必須是有效的,且必須是已經(jīng)用 fopen()、popen() 或 fsockopen() 成功開(kāi)文件的指針。
fgetc
取得文件指針?biāo)傅淖址?/p>
語(yǔ)法: string fgetc(int fp);
返回值: 字符串
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)取得文件指針?biāo)傅淖址�,返回字符串�?lèi)型的字符。指針若在 eof 則返回 false。其中的文件指針必須是有效的,且必須是已經(jīng)用 fopen()、popen() 或 fsockopen() 成功開(kāi)文件的指針。
參考 fread() fopen() popen() fsockopen() fgets()
fgetcsv
取得文件指針?biāo)感�,并解�?csv 字段。
語(yǔ)法: array fgetcsv(int fp, int length, string [delimiter]);
返回值: 數(shù)組
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)與 fgets() 的功用類(lèi)似,不同的地方在于本函數(shù)用來(lái)解析讀取行的 csv 字段資料,并將其放入數(shù)組變量之中。其中的第三個(gè)參數(shù) delimiter 若未指定,則使用內(nèi)定值:逗號(hào)。其中的文件指針 fp 必須是有效的,且必須是已經(jīng)用 fopen()、popen() 或 fsockopen()
成功開(kāi)文件的指針。而第二個(gè)參數(shù) length 的值必須要比 csv 文件最長(zhǎng)一行的字符數(shù)還大。本函數(shù)若發(fā)生錯(cuò)誤或者到文件尾 (eof, end of
file),則會(huì)返回 false 值。若遇到空行,則傳到數(shù)組結(jié)構(gòu)的字符為空字符字段 (null),而不是當(dāng)作發(fā)生錯(cuò)誤的情形。
使用范例
<?
$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
取得文件指針?biāo)傅男小?/p>
語(yǔ)法: string fgets(int fp, int length);
返回值: 字符串
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)取得文件指針?biāo)傅男校祷刈址L(zhǎng)度為行的長(zhǎng)度減一。若發(fā)生錯(cuò)誤則返回 false。一般常遇到的陷阱是用 c 語(yǔ)言的經(jīng)驗(yàn)
來(lái)使用本函數(shù),而 eof 時(shí)的處理方式則和 c 語(yǔ)言的 fgets() 不同。其中的文件指針必須是有效的,且必須是已經(jīng)用 fopen()、popen() 或
fsockopen() 成功開(kāi)文件的指針。
使用范例
<?php
$fd = fopen("/tmp/myfile.txt", "r");
while ($buffer = fgets($fd, 4096)) {
echo $buffer;
}
fclose($fd);
?>
參考: fread() fopen() popen() fsockopen() fgetc()
fgetss
取得文件指針?biāo)傅男�,并去�?html 語(yǔ)言標(biāo)記。
語(yǔ)法: string fgetss(int fp, int length);
返回值: 字符串
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明
本函數(shù)除了 fgets() 的功能,并同時(shí)去掉取回字符串中的 html 語(yǔ)言及 php 語(yǔ)法的標(biāo)記字符串。
參考: fopen() popen() fsockopen() fgets() strip_tags()
file
將文件全部讀入數(shù)組變量中。
語(yǔ)法: array file(string filename);
返回值: 數(shù)組
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)與 readfile() 類(lèi)似,不同的地方為本函數(shù)將文件全部讀出,并輸出到數(shù)組的變量中,每行都是單獨(dú)的數(shù)組元素。
參考: fopen() popen() readfile()
file_exists
檢查文件是否存在。
語(yǔ)法: int file_exists(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)測(cè)試檢查文件是否存在,返回 true 表示文件存在。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
fileatime
取得文件最后的存取時(shí)間。
語(yǔ)法: int fileatime(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回指定文件 filename 的最后存取時(shí)間。返回 false 表示發(fā)生錯(cuò)誤。返回值放在快取緩沖區(qū)中,可以參考
clearstatcache()。
filectime
取得文件最后的改變時(shí)間。
語(yǔ)法: int filectime(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回指定文件 filename 的 inode 最后改變時(shí)間。返回 false 表示發(fā)生錯(cuò)誤。返回值放在快取緩沖區(qū)中,可以參考
clearstatcache()。
filegroup
取得文件所屬的群組。
語(yǔ)法: int filegroup(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回指定文件的群組使用者 gid 值。返回 false 表示發(fā)生錯(cuò)誤。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
fileinode
取得文件的 inode 值。
語(yǔ)法: int fileinode(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回指定文件的 inode 值。返回 false 表示發(fā)生錯(cuò)誤。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
filemtime
取得文件最后的修改時(shí)間。
語(yǔ)法: int filemtime(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回指定文件 filename 的最后修改時(shí)間。返回 false 表示發(fā)生錯(cuò)誤。返回值放在快取緩沖區(qū)中,可以參考
clearstatcache()。
使用范例
以下是 [email protected] (29-apr-1999) 在 win95 上的實(shí)作范例,例中返回當(dāng)頁(yè) homepage 的最后修改時(shí)間并將 filemtime() 返回的unix 格式的時(shí)間字符串轉(zhuǎn)換成 12 小時(shí)制的字符串。
(注:由于本例的文件為 __file__ 表示目前的文件,其實(shí)和使用 getlastmod() 函數(shù)有相同的效果。)
<?php
$filemod = filemtime(__file__);
$filemodtime = date("f j y h:i:s a", $filemod);
print("本頁(yè)最后修改時(shí)間: $filemodtime");
?>
fileowner
取得文件的擁有者。
語(yǔ)法: int fileowner(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回指定文件擁有者的 uid 值。返回 false 表示發(fā)生錯(cuò)誤。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
fileperms
取得文件的權(quán)限配置。
語(yǔ)法: int fileperms(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回指定文件的權(quán)限配置值。返回 false 表示發(fā)生錯(cuò)誤。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
filesize
獲得文件的大小。
語(yǔ)法: int filesize(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回指定文件的文件大小。返回 false 表示發(fā)生錯(cuò)誤。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
filetype
獲得文件的類(lèi)型。
語(yǔ)法: string filetype(string filename);
返回值: 字符串
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回指定文件的文件類(lèi)型�?赡艿姆祷仡�(lèi)型有 fifo、char、dir、block、link、file 及 unknown 等等。返回 false 表示
發(fā)生錯(cuò)誤。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
flock
鎖住文件。
語(yǔ)法: boolean flock(int fp, int operation);
返回值: 布爾值
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)鎖住文件,使別的行程無(wú)法存取。傳入的參數(shù) fp 為文件的指針。參數(shù) operation 的值為下列的數(shù)字之一:1 表示配置
鎖住文件可以允許別的行程讀取;2 表示只有該行程可以寫(xiě)入文件;3 表示讀寫(xiě)均鎖�。�4 則不鎖住區(qū)塊 (block)。而本函數(shù)無(wú)論在 unix 或
是 windows 系列中的鎖住效果都相近。執(zhí)行成功則返回 true 值,否則返回 false 值。
fopen
打開(kāi)文件或者 url。
語(yǔ)法: int fopen(string filename, string mode);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 說(shuō)明: 本函數(shù)可用來(lái)打開(kāi)本地或者遠(yuǎn)端的文件。若參數(shù) filename 為 "http://......" 則本函數(shù)利用 http 1.0 協(xié)議與服務(wù)器連接,文件指針則指到服務(wù)器返回文件的起始處。若參數(shù) filename 為 "ftp://......." 則本函數(shù)會(huì)與服務(wù)器連接,文件指針指到指定的文件處。若 ftp 服務(wù)器沒(méi)有支持被動(dòng)模式 (passive mode ftp) 則返回失敗值。打開(kāi)的 ftp 文件可以是讀取或?qū)懭肫渲兄�,但不能讀或?qū)懚N同時(shí)使用。其它的情形,本函數(shù)打開(kāi)本地的文件,文件的指針則指向打開(kāi)的文件。若開(kāi)文件失敗,則返回 false 值。
字符串參數(shù) mode 可以是下列的情形:
'r' 開(kāi)文件方式為只讀,文件指針指到開(kāi)始處。
'r ' 開(kāi)文件方式為可讀寫(xiě),文件指針指到開(kāi)始處。
'w' 開(kāi)文件方式為寫(xiě)入,文件指針指到開(kāi)始處,并將原文件的長(zhǎng)度設(shè)為 0。若文件不存在,則建立新文件。
'w ' 開(kāi)文件方式為可讀寫(xiě),文件指針指到開(kāi)始處,并將原文件的長(zhǎng)度設(shè)為 0。若文件不存在,則建立新文件。
'a' 開(kāi)文件方式為寫(xiě)入,文件指針指到文件最后。若文件不存在,則建立新文件。
'a ' 開(kāi)文件方式為可讀寫(xiě),文件指針指到文件最后。若文件不存在,則建立新文件。
'b' 若操作系統(tǒng)的文字及二進(jìn)位文件不同,則可以用此參數(shù),unix 系統(tǒng)不需要使用本參數(shù)。
使用范例
第一行為 unix 系統(tǒng)使用;第二行是 windows 系列系統(tǒng)的用法;第三、四行則為 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:[email protected]/", "w");
?>
參考
fclose() popen() fsockopen()
fpassthru
輸出所有剩余資料。
語(yǔ)法: int fpassthru(int fp);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)讀取文件 fp 直到文件尾 (end of file, eof),并將資料輸出到標(biāo)準(zhǔn)輸出 (standard output)。若有錯(cuò)誤發(fā)生,則返回false 值。而文件 fp 必須由 fopen()、popen() 或 fsockopen() 打開(kāi)成功的指針。當(dāng)本函數(shù)讀完文件,會(huì)自動(dòng)將文件關(guān)閉,即 fp 變無(wú)效。如果只是要將文件輸出到標(biāo)準(zhǔn)輸出,可以使用 readfile() 會(huì)比用 fopen() 更好。
參考: readfile() fopen() fclose() popen() fsockopen()
fputs
寫(xiě)到文件指針。
語(yǔ)法: int fputs(int fp, string str, int [length]);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)即 fwrite(),只是一個(gè)別名。用來(lái)將字符串 str 寫(xiě)到文件指針。
fread
位組的方式讀取文件。
語(yǔ)法: string fread(int fp, int length);
返回值: 字符串
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)讀到指定長(zhǎng)度的位組或到文件尾 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
移動(dòng)文件指針。
語(yǔ)法: int fseek(int fp, int offset);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)將文件 fp 的指針移到指定的偏移位 (offset) 上。使用本函數(shù)就像 c 語(yǔ)言中的 fseek(fp, offset, seek_set) 函數(shù)。成
功則返回 0,失敗則返回 -1 值。當(dāng) fp 由 fopen() 打開(kāi) "http://...." 或是 "ftp://...." 等 url 文件時(shí),本函數(shù)無(wú)法作用。
參考: ftell() rewind()
ftell
取得文件讀寫(xiě)指針位置。
語(yǔ)法: int ftell(int fp);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回文件 fp 的指針偏移位 (offset) 值。當(dāng)發(fā)生錯(cuò)誤時(shí),返回 false 值。文件指針 fp 必須是有效的,且使用 fopen() 或者 popen() 二個(gè)函數(shù)打開(kāi)方可作用。
參考: fopen() popen() fseek() rewind()
fwrite
二進(jìn)位位方式寫(xiě)入文件。
語(yǔ)法: int fwrite(int fp, string string, int [length]);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)將字符串 string 寫(xiě)入文件資料流的指針 fp 上。若有指定長(zhǎng)度 length,則會(huì)寫(xiě)入指定長(zhǎng)度字符串,或是寫(xiě)到字符串結(jié)束。
注意的是若指定了長(zhǎng)度,則在 php 環(huán)境配置值 magic_quotes_runtime 的配置將被忽略,同時(shí)字符串中的斜線(xiàn)不會(huì)被刪除。
參考: fread() fopen() popen() fsockopen() fputs()
set_file_buffer
配置文件緩沖區(qū)大小。
語(yǔ)法: int set_file_buffer(int fp, int buffer);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)配置文件的緩沖區(qū)大小供寫(xiě)入文件使用。若 buffer 值設(shè)為 0,則在寫(xiě)入操作時(shí)無(wú)緩沖區(qū)。成功則返回 0 值。值得注意的是當(dāng)文件打開(kāi) (fopen) 時(shí),會(huì)使用本函數(shù)將默認(rèn)的緩沖區(qū)設(shè)為 8k。
參考: fopen()
is_dir
測(cè)試文件是否為目錄。
語(yǔ)法: boolean is_dir(string filename);
返回值: 布爾值
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回 true 值則表示指定的 filename 為目錄名稱(chēng)。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
注意: [email protected] (11-jun-1999) 指出若用 is_dir("..");的方式,返回的也是 true。
參考: is_file() is_link()
is_executable
測(cè)試文件是否為可執(zhí)行文件。
語(yǔ)法: boolean is_executable(string filename);
返回值: 布爾值
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回 true 值則表示指定的 filename 存在并為可執(zhí)行文件。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
參考: is_file() is_link()
is_file
測(cè)試文件是否為正常文件。
語(yǔ)法: boolean is_file(string filename);
返回值: 布爾值
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回 true 值則表示指定的 filename 存在并為正常的文件。返回值放在快取緩沖區(qū)中,可以參考 clearstatcache()。
參考: is_dir() is_link()
is_link
測(cè)試文件是否為鏈接文件。
語(yǔ)法: boolean is_link(string filename);
返回值: 布爾值
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回 true 值則表示指定的 filename 存在并為符號(hào)鏈接文件 (symbolic link)。返回值放在快取緩沖區(qū)中,可以參考
clearstatcache()。
參考: is_dir() is_file()
is_readable
測(cè)試文件是否可讀取。
語(yǔ)法: boolean is_readable(string filename);
返回值: 布爾值
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回 true 值則表示指定的 filename 存在并且可讀取。返回值放在快取緩沖區(qū)中,參考 clearstatcache()。
參考: is_writeable()
is_writeable
測(cè)試文件是否可寫(xiě)入。
語(yǔ)法: boolean is_writeable(string filename);
返回值: 布爾值
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)返回 true 值則表示指定的 filename 存在并且可讀取。參數(shù) filename 也可以是目錄名稱(chēng),用來(lái)測(cè)試該目錄是否可寫(xiě)入。
返回值放在快取緩沖區(qū)中,參考 clearstatcache()。
參考: readable()
link
建立硬式鏈接。
語(yǔ)法: int link(string target, string link);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)建立硬式鏈接,用來(lái)將參數(shù) link 鏈接至 target。
參考: symlink() readlink() linkinfo()
linkinfo
取得鏈接信息。
語(yǔ)法: int linkinfo(string path);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)使用系統(tǒng)呼叫 lstat,返回 unix 上 c 語(yǔ)言 stat 結(jié)構(gòu)類(lèi)型的 st_dev 字段。返回 0 或 false 表示發(fā)生錯(cuò)誤。
參考: symlink() readlink() link()
mkdir
建立目錄。
語(yǔ)法: int mkdir(string pathname, int mode);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)建立參數(shù) pathname 目錄,參數(shù) mode 以八進(jìn)位的方式指定 (在參數(shù)前加 0) 比較不會(huì)出錯(cuò)。返回 true 表示成功,失敗則
返回 false。
使用范例
下例就是用八進(jìn)位的例子,建立 /path/to/my/dir 目錄,該目錄只有擁有者及 root 等級(jí)可讀寫(xiě)執(zhí)行,其它人無(wú)法使用。
<?php
mkdir("/path/to/my/dir", 0700);
?>
參考: rmdir()
pclose
關(guān)閉文件。
語(yǔ)法: int pclose(int fp);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)關(guān)閉以 popen() 打開(kāi)的管道文件。而參數(shù) fp 必需是有效的,且使用 popen() 打開(kāi)的文件。返回結(jié)處理文件的結(jié)束狀
態(tài)。
參考: popen()
popen
打開(kāi)文件。
語(yǔ)法: int popen(string command, string mode);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)執(zhí)行指令開(kāi)檔,而該文件是用管道方式處理的文件。用本函數(shù)打開(kāi)的文件只能是單向的 (只能讀或只能寫(xiě)),而且一定要用
pclose() 關(guān)閉。在文件操作上可使用 fgets()、fgetss() 與 fputs()。若是開(kāi)檔發(fā)生錯(cuò)誤,返回 false 值。
使用范例
<?
$fp = popen( "/bin/ls", "r" );
?>
參考: pclose()
readfile
輸出文件。
語(yǔ)法: int readfile(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)讀取文件,并將文件內(nèi)容寫(xiě)入標(biāo)準(zhǔn)輸出設(shè)備中。返回值是讀取的文件大小。若有錯(cuò)誤返回 false 值,可以在函數(shù)前面加入 @,變成 @readfile,就可以隱藏起來(lái)。和 fopen() 用法一樣,若參數(shù) filename 為 "http://......" 則本函數(shù)利用 http 1.0 協(xié)議與服務(wù)器連接,文件指針則指到服務(wù)器返回文件的起始處。若參數(shù) filename 為 "ftp://......." 則本函數(shù)會(huì)與服務(wù)器連接,文件指針指到指定的文件處。若 ftp 服務(wù)器沒(méi)有支持被動(dòng)模式 (passive mode ftp) 則返回失敗值。打開(kāi)的 ftp 文件可以是讀取或?qū)懭肫渲兄�,但不能讀或?qū)懚N同時(shí)使用。其它的情形,本函數(shù)打開(kāi)本地的文件,文件的指針則指向打開(kāi)的文件。若開(kāi)檔失敗,則返回 false 值。
參考: fpassthru() file() fopen()
readlink
返回符號(hào)鏈接 (symbolic link) 目標(biāo)檔。
語(yǔ)法: string readlink(string path);
返回值: 字符串
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)和 c 語(yǔ)言的同名函數(shù)用法相同,返回符號(hào)鏈接的文件。若發(fā)生錯(cuò)誤則返回 0。
參考: symlink() linkinfo()
rename
更改檔名。
語(yǔ)法: int rename(string oldname, string newname);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)可將舊檔名 oldname 改成新檔名 newname。成功則返回 true、失敗則返回 false。
rewind
重置開(kāi)檔的讀寫(xiě)位置指針。
語(yǔ)法: int rewind(int fp);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)重置文件的讀寫(xiě)位置指針到標(biāo)案的開(kāi)頭處。發(fā)生錯(cuò)誤則返回 0。文件 fp 必須是有效且用 fopen() 打開(kāi)的文件。
使用范例
fseek ftell
rmdir
刪除目錄。
語(yǔ)法: int rmdir(string dirname);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)可用來(lái)刪除目錄。欲刪除的路徑必須是空的目錄,且權(quán)限必須要合乎要求。發(fā)生錯(cuò)誤則返回 0。
參考: mkdir()
stat
取得文件相關(guān)信息。
語(yǔ)法: array stat(string filename);
返回值: 數(shù)組
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)可蒐集文件的相關(guān)信息,并返回?cái)?shù)組。數(shù)組的元素依序如下:
裝置名稱(chēng) (device)
inode 值
inode 文件模式
參照到該檔的名稱(chēng)總數(shù),含 link 檔。
擁有者的 uid
擁有者的 gid
若為字符或裝置設(shè)備則為裝置類(lèi)型 (限系統(tǒng)支持 st_blksize 方有效,windows 系列返回 -1)
位組為單位的文件長(zhǎng)度
最后存取時(shí)間
最后修改時(shí)間
最后改動(dòng)時(shí)間
文件系統(tǒng)的區(qū)塊大小 (限系統(tǒng)支持 st_blksize 方有效,windows 系列返回 -1)
匹配的區(qū)塊數(shù)
返回值放在快取緩沖區(qū)中,參考 clearstatcache()。
lstat
取得鏈接文件相關(guān)信息。
語(yǔ)法: array lstat(string filename);
返回值: 數(shù)組
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)可蒐集鏈接文件的相關(guān)信息,并返回?cái)?shù)組。數(shù)組的元素依序如下:
裝置名稱(chēng) (device)
inode 值
鏈接 (link) 到該文件的總數(shù)。
擁有者的 uid
擁有者的 gid
若為字符或裝置設(shè)備則為裝置類(lèi)型 (限系統(tǒng)支持 st_blksize 方有效,windows 系列返回 -1)
位組為單位的文件長(zhǎng)度
最后存取時(shí)間
最后修改時(shí)間
最后改動(dòng)時(shí)間
文件系統(tǒng)的區(qū)塊大小 (限系統(tǒng)支持 st_blksize 方有效,windows 系列返回 -1)
匹配的區(qū)塊數(shù)
返回值放在快取緩沖區(qū)中,參考 clearstatcache()。
symlink
建立符號(hào)鏈接 (symbolic link)。
語(yǔ)法: int symlink(string target, string link);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明
本函數(shù)可用來(lái)建立符號(hào)鏈接。從參數(shù) target 鏈接到 link 處。建立硬式鏈接可用 link() 函數(shù)。
參考: link() readlink() linkinfo()
tempnam
建立只一的臨時(shí)檔。
語(yǔ)法: string tempnam(string dir, string prefix);
返回值: 字符串
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)可建立一個(gè)臨時(shí)檔,檔名不會(huì)與同目錄中的文件重覆。返回字符串就是建立的臨時(shí)檔名。若發(fā)生錯(cuò)誤則返回空字符串。
使用范例
<?
$tmpfname = tempnam( "/tmp", "haha" );
?>
touch
配置最后修改時(shí)間。
語(yǔ)法: int touch(string filename, int [time]);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)可用來(lái)配置最后修改時(shí)間。若有指定參數(shù) time,則依指定的時(shí)間;若無(wú)指定時(shí)間,則為服務(wù)器的時(shí)間。和 unix 的同名指令
一樣,若文件不存在,則會(huì)建立 filename 文件。成功則返回 true 值,其它失敗時(shí)則返回 false。
umask
改變目前的文件屬性遮罩 umask。
語(yǔ)法: int umask(int [mask]);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)用來(lái)配置 php 的 umask 值。此值是 mask 與 0777 運(yùn)算的值,返回舊的 umask 值。當(dāng)參數(shù) mask 不存在時(shí),本函數(shù)將返回目前的 umask 值。
unlink
刪除文件。
語(yǔ)法: int unlink(string filename);
返回值: 整數(shù)
函數(shù)種類(lèi): 文件存取
內(nèi)容說(shuō)明: 本函數(shù)刪除文件 filename,用法像 unix 中 c 語(yǔ)言呼叫的同名函數(shù) unlink()。當(dāng)發(fā)生錯(cuò)誤則返回 0 或 false。
參考: rmdir()
分享:PHP技巧:Smarty adodb分頁(yè)示例利用Smarty adodb分頁(yè)示例, 下面給出的是分頁(yè)部份的代碼。 分頁(yè)文件:page.lbi 以下為引用的內(nèi)容: <table width="100%"
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁(yè)面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪(fǎng)問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語(yǔ)言構(gòu)造器介紹
- php/js獲取客戶(hù)端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國(guó)語(yǔ)言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- 教你用PHP寫(xiě)MySQL數(shù)據(jù)庫(kù)的用戶(hù)認(rèn)證系統(tǒng)
- PHP Tokenizer 的學(xué)習(xí)筆記
- 網(wǎng)站建設(shè)中PHP的編程8種常見(jiàn)文件操作
- 用PHP寫(xiě)的MD5加密函數(shù)
- PHP刪除數(shù)組中特定元素的兩種方法
- Fedora下Zend Studio 6.1.2 如何配置
- php+mysql實(shí)現(xiàn)無(wú)限級(jí)分類(lèi)
- 如何才能將數(shù)據(jù)從文本導(dǎo)入到mysql數(shù)據(jù)庫(kù)
- PHP實(shí)現(xiàn)首頁(yè)自動(dòng)選擇語(yǔ)言轉(zhuǎn)跳
- 《PHP設(shè)計(jì)模式介紹》第四章 單件模式
- 相關(guān)鏈接:
- 教程說(shuō)明:
PHP教程-PHP技巧:PHP腳本編程中的文件系統(tǒng)函數(shù)庫(kù)
。