簡介:這次介紹的是PHP中與文件操作相關的系統函數,這些函數也是非常的重要,以下天涯依然是對比較常用的進行詳細舉例說明。
basename — 返迴路徑中的檔案名稱部分
dirname — 返迴路徑中的目錄部分
string basename ( string $pathing string $suffix ] )
string basename ( string $pathing string $suffix ) )
範例:
//天涯PHP部落格http://blog.phpha.com
$path = "/home/httpd/phpha.com/index.php";
echo basename($ path);
echo basename($path, '.php');
echo basename($path, '.xxx');
echo dirname($path);
?>
//結果:
index. php
?>
//結果:
index. php php index
index.php
/home/httpd/phpha.com
chown — 改變檔案的擁有者
chmod — 改變檔案模式
bool chmod ( string $filename , int $mo
bool chmod ( string $mo
chmod('/home/phpha.txt', 0755);
?>
copy — 拷貝檔案
copy — 拷貝.bak')){
echo 'copy success';
?>
//在目前目錄下生存了index.php.bak檔
delete — 請參閱ununlink 或刪除檔案
if(unlink('index.php.bak')){
echo 'unlink success';
?>
//刪除了index. — 傳回目錄中的可用空間
diskfreespace — disk_free_space 的別名
br />';
echo disk_total_space("C:");
?>
//結果:傳回的是位元組數
17433419776
32218386432 get文件指針中讀取一行
fread — 讀取檔案(可安全用於二進位檔案)
fwrite — 寫入檔案(可安全用於二進位檔案)
fclose — 關閉一個已開啟的文件指針
//天涯PHP部落格http://blog.phpha.com
$fp = fopen('hello.txt', 'r'); //開啟一個檔案
$n = 1;
while(!feof($fp)){
echo $n, ' - ', fgets($fp), '
'; //讀取一行並輸出
$n++;
}
fclose($ fp); //關閉檔案
?>
//輸出:
1 - Welcome to my blog:
2 - http://blog.phpha.com
fgetc — 從檔案中讀取字元指標fgetcsv — 從檔案指標讀入一行並解析CSV 欄位
fgetss — 從檔案指標讀取一行並過濾掉HTML 標記
fputcsv — 將行格式化為CSV 並寫入檔案指標
fputs — fwrite 的別名
$fp = fopen('hello.txt', 'r');
while(false !== ($char = fgetc($fp))){
echo $char, '-' ;
}
?>
//輸出:
W-e-l-c-o-m-e- -t-o- -m-y- -b-l-o-g-:- - -h-t-t-p-:-/-m-b-l-o-g-p-p-o-g
file_exists — 檢查檔案或目錄是否存在
if(file_exists('hello.txt')){
echo 'hello.txt 存在';
}else{
echo 'hello.txt 存在';
}else{
echo 'hello.txt. >
// 輸出:
hello.txt 存在
file_get_contents — 將整個檔案讀入一個字串
file_put_contents — 整個檔案讀入一個字串
_put
if($content = file_get_contents('hello.txt')){
file_put_contents('hello.txt.bak', $content);
file_put_contents('hello.txt.bak', $content);
}
? >
// 虛擬複製了一份 hello.txt
if($content = file('hello.txt')){
print_r($content);
}
? >
// 備份形式,每一行都是一個備份成員
Array
(
[0] => 歡迎來到我的部落格:
[1] => http://blog.phpha.com
)
fileatime — 取得檔案的上次存取時間
filectime — 取得檔案的inode 修改時間
filegroup — 取得檔案的inode 群組
fileinode — 取得檔案的inode
filemtime — 取得檔案的修改時間 — 取得檔案的修改時間的擁有者
fileperms — 取得檔案的權限
filesize — 取得檔案大小
filetype — 取得檔案類型
echo fileatime('hello.txt');
echo filectime('hello.txt');
echo filegroup('hello.txt');
echo filemtime('hello.txt');
echo fileowner('hello.txt');
echo substr(sprintf('%o', fileperms('hello.txt')), -4);
echo 檔案大小('hello.txt');
echo filetype('hello.txt');
?
flock — 輕巧的諮詢文件鎖定
fnmatch — 以模式匹配檔案名稱
fflush — 將緩衝內容輸出到檔案
fpassthru — 輸出檔案指標處的所有剩餘資料
fscanf — 從檔案中格式化至指標中定位
fstat — 透過已開啟的檔案指標取得檔案資訊
ftell — 返回檔案指標讀取/寫入的位置
ftruncate — 將檔案截斷至給定的長度
glob — 尋找與模式相符的檔案路徑
is_executable — 判斷給定檔案名稱是否可執行
is_file — 判斷給定檔案名稱是否為一個正常的檔案
is_link — 判斷給定檔案名稱是否為一個符號連接
is_readable — 判斷給定檔案名稱是否可讀
is_uploaded_file — 判斷檔案是否是透過HTTP POST 上傳的
is_writable — 判斷給定的檔案名稱是否可寫
is_writeable — is_writable 的別名
或目錄是否符合對應的條件,回傳TRUE或FALSE。
lchown — Changes user ownership of symlink
link — 建立一個硬連接
linkinfo — 取得一個連接的資訊
lstat — 給出一個檔案或連接的資訊。 move_uploaded_file — 將上傳的檔案移到新位置
parse_ini_file — 解析一個設定檔
pathinfo — 傳回檔案路徑的資訊
pclose — 關閉行程檔案指標
popen — 開啟行程檔案指標
read連線指向的目標
realpath — 傳回規範化的絕對路徑名
rename — 重新命名一個檔案或目錄
rewind — 倒回檔案指標的位置
rmdir — 刪除目錄
set_file_buffer — stream_set_write_buffer 的別名。
symlink — 建立符號連線
tempnam — 建立一個具有唯一檔案名稱的檔案
tmpfile — 建立一個暫存檔案
touch — 設定檔案的存取與修改時間
umask — 變更目前的umask
clearstatcache — 清除檔案
總結:其實這麼多的檔案操作函數,大部分用不到,同時可以看到這些函數與linux指令相似度有多麼大。
以上就是摘自PHP手冊[10] – Filesystem檔案系統函數的內容,更多相關內容請關注PHP中文網(www.php.cn)!