- 相關(guān)推薦
PHP常用的文件操作函數(shù)有哪些
本文主要總結(jié)的PHP文件操作函數(shù)。當(dāng)然,這只是部分,還有很多,我沒(méi)有列出來(lái)。歡飲閱讀參考!
一 、解析路徑:
1 獲得文件名:
basename();
給出一個(gè)包含有指向一個(gè)文件的全路徑的字符串,本函數(shù)返回基本的文件名。如果文件名是以 suffix 結(jié)束的,那這一部分也會(huì)被去掉。
eg:
$path = "/home/httpd/html/index.php";
$file = basename($path,".php"); // $file is set to "index"
2 得到目錄部分:
dirname();
給出一個(gè)包含有指向一個(gè)文件的全路徑的字符串,本函數(shù)返回去掉文件名后的目錄名。
eg:
$path = "/etc/passwd";
$file = dirname($path); // $file is set to "/etc"
3 得到路徑關(guān)聯(lián)數(shù)組
pathinfo();
得到一個(gè)指定路徑中的三個(gè)部分:目錄名,基本名,擴(kuò)展名。
eg:
$pathinfo = pathinfo("www/test/");
var_dump($pathinfo);
// $path['dirname']
$path['basename']
$path['extenssion']
二、文件類(lèi)型
1. filetype();
返回文件的類(lèi)型?赡艿闹涤 fifo,char,dir,block,link,file 和 unknown。
eg:
echo filetype('/etc/passwd'); // file
echo filetype('/etc/'); // dir
三、得到給定文件有用信息數(shù)組(很有用)
1. fstat();
通過(guò)已打開(kāi)的文件指針取得文件信息
獲取由文件指針 handle 所打開(kāi)文件的統(tǒng)計(jì)信息。本函數(shù)和 stat() 函數(shù)相似,除了它是作用于已打開(kāi)的文件指針而不是文件名。
eg:
// 打開(kāi)文件
$fp = fopen("/etc/passwd", "r");
// 取得統(tǒng)計(jì)信息
$fstat = fstat($fp);
// 關(guān)閉文件
fclose($fp);
// 只顯示關(guān)聯(lián)數(shù)組部分
print_r(array_slice($fstat, 13));
2. stat()
獲取由 filename 指定的文件的統(tǒng)計(jì)信息(類(lèi)比f(wàn)stat())
四、計(jì)算大小
1. filesize()
返回文件大小的字節(jié)數(shù),如果出錯(cuò)返回 FALSE 并生成一條 E_WARNING 級(jí)的錯(cuò)誤。
eg:
// 輸出類(lèi)似:somefile.txt: 1024 bytes
$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';
2. disk_free_space()
獲得目錄所在磁盤(pán)分區(qū)的可用空間(字節(jié)單位)
eg
// $df 包含根目錄下可用的字節(jié)數(shù)
$df = disk_free_space("/");
//在 Windows 下:
disk_free_space("C:");
disk_free_space("D:");
3. disk_total_space()
返回一個(gè)目錄的磁盤(pán)總大小
另:如需要計(jì)算一個(gè)目錄大小,可以編寫(xiě)一個(gè)遞歸函數(shù)來(lái)實(shí)現(xiàn)。
五、 訪問(wèn)與修改時(shí)間
1. fileatime(): 最后訪問(wèn)時(shí)間
2. filectime(): 最后改變時(shí)間(任何數(shù)據(jù)的修改)
3. filemtime(): 最后修改時(shí)間(指僅是內(nèi)容修改)
六、 文件的I/O操作
1. fopen -- 打開(kāi)文件或者 URL
mode 說(shuō)明
'r' 只讀方式打開(kāi),將文件指針指向文件頭。
'r+' 讀寫(xiě)方式打開(kāi),將文件指針指向文件頭。
'w' 寫(xiě)入方式打開(kāi),將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。
'w+' 讀寫(xiě)方式打開(kāi),將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。
'a' 寫(xiě)入方式打開(kāi),將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。
'a+' 讀寫(xiě)方式打開(kāi),將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。
'x' 創(chuàng)建并以寫(xiě)入方式打開(kāi),將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,
'x+' 創(chuàng)建并以讀寫(xiě)方式打開(kāi),將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE
eg:
$handle = fopen("/home/rasmus/file.txt", "r");
2. file -- 把整個(gè)文件讀入一個(gè)數(shù)組中(此函數(shù)是很有用的)
和 file_get_contents() 一樣,只除了 file() 將文件作為一個(gè)數(shù)組返回。數(shù)組中的每個(gè)單元都是文件中相應(yīng)的一行,包括換行符在內(nèi)。如果失敗 file() 返回 FALSE。
七、 對(duì)文件屬性的操作(操作系統(tǒng)環(huán)境不同,可能有所不一樣,這點(diǎn)要注意)
1文件是否可讀:
boolis_readable ( string filename )
如果由 filename 指定的文件或目錄存在并且可讀則返回 TRUE。
記住 PHP 也許只能以運(yùn)行 webserver 的用戶(hù)名(通常為 'nobody')來(lái)訪問(wèn)文件。不計(jì)入安全模式的限制。
2 文件是否可寫(xiě)
bool is_writable ( string filename )
如果文件存在并且可寫(xiě)則返回 TRUE。filename 參數(shù)可以是一個(gè)允許進(jìn)行是否可寫(xiě)檢查的目錄名。
記住 PHP 也許只能以運(yùn)行 webserver 的用戶(hù)名(通常為 'nobody')來(lái)訪問(wèn)文件。不計(jì)入安全模式的限制
3 檢查文件是否存在
boolfile_exists ( string filename )
如果由 filename 指定的文件或目錄存在則返回 TRUE,否則返回 FALSE
【PHP常用的文件操作函數(shù)有哪些】相關(guān)文章:
PHP常用的文件操作函數(shù)10-17
php文件操作函數(shù)解釋11-07
PHP常用函數(shù)有哪些10-17
PHP語(yǔ)言有哪些常用的系統(tǒng)函數(shù)10-07
PHP內(nèi)置函數(shù)有哪些11-04
PHP文件怎么操作09-03
PHP文件與目錄操作的方法11-16
C語(yǔ)言文件操作函數(shù)10-18