本文總結分析了php文件系統處理方法。分享給大家供大家參考,具體如下:
文件類型
以Linux為模型的, 在Windows只能獲取file, dir或unknow 三種類型
在Linux/Unix下, block, char, dir, fifo, file, link, unknown7種型
block :塊設置文件,磁盤分區,軟驅, cd-rom等
char: 字符設備,I/O (輸入輸出中)以字符為單位的設備, 例如鍵盤,打印機等
dir: 目錄也是文件的一種/目錄文件
fifo: 信息管道,從一個程序傳輸到另一個進程
file: 普通的文件類型如文本文件,可執行文件
link: 鏈接文件,相當於windows下的快捷方式
unknown :未知類型
1.文件屬性處理函數
filetype("目錄或文件名") 獲取類型
is_dir -- 判斷給定文件名是否是一個目錄
is_file -- 判斷給定文件名是否為一個正常的文件
is_link -- 判斷給定文件名是否為一個符號連接
is_executable(); -- 判斷給定文件名是否可執行
file_exists();--文件是否存在
filesize();--返回文件大小
is_readable();--文件是否可讀
is_writeable();--文件是否可寫
filectime();--文件創建時間
filemtime();--文件修改時間
fileactime();--文件最後訪問時間
stat();--文件狀態,返回關於給定文件的信息的數組
bool ftruncate ( resource handle, int size );
接受文件指針 handle 作為參數,並將文件大小截取為 size。如果成功則返回 TRUE,失敗則返回 FALSE。
bool rename ( string oldname, string newname [, resource context] );
2.目錄
目錄屬性
* basename(url[,擴展名]); //返回文件名 * dirname(url); //目錄名 * pathinfo(url); //路徑信息
例子:
$path="/var/www/html/page.php"; echo basename($path);// 返回page.php echo basename($path,".php"); //page echo dirname($paht);// /var/www/html $arr=pathinfo($paht); $arr["dirname"] // /var/www/html $arr["basename"]// page.php $arr["extension"]// .php
遍歷目錄
opendir(url); readdir(url);//返回當前目錄指針只為的一個文件名,並將目錄指針向後移動一位 closedir(url); rewinddir(url);//把目錄指針重置到開始處
統計目錄大小
統計目錄的大小只能建立遞歸函數把目錄的文件都加起來;
統計磁盤大小可以使用 disk_free_space(url);和 disk_total_space(url);
建立和刪除目錄
mkdir(url);//建立目錄 rmdir(url);//刪除空目錄 unlink(url);//刪除文件
刪除非空目錄只能自己建立遞歸函數;
復制目錄
copy($scrfile,$to);//復制文件
得自定義遞歸函數實現目錄復制功能
3.文件的基本操作
fopen(url); fclose(url);
寫入文件
int fwrite(resoure handle,strint string[,int length]);
返回寫入的字符數或是FALSE
fputs()是fwrite()的別名
int file_put_contents ( string filename, string data [, int flags [, resource context]] );
和依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。
讀取文件
string fread ( resource handle, int length );
從文件指針 handle 讀取最多 length 個字節。 該函數在讀取完 length 個字節數,或到達 EOF 的時候
string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] ); array file ( string filename [, int use_include_path [, resource context]] );
數組中的每個單元都是文件中相應的一行,包括換行符在內。
string fgets ( resource handle [, int length] ); string fgetc ( resource handle ); int readfile ( string filename [, bool use_include_path [, resource context]] );
讀入一個文件並寫入到輸出緩沖。
如果訪問遠程文件,必須在php的配置文件中激活"allow_url_fopen"選項,才能使用fopen()函數打開遠程文件
使用FTP協議連接遠程文件的時,只可以用“只讀”或“只寫”模式打開文件。
移動文件指針
int ftell ( resource handle );
返回由 handle 指定的文件指針的位置,也就是文件流中的偏移量。
int fseek ( resource handle, int offset [, int whence] );
在與 handle 關聯的文件中設定文件指針位置。新位置,從文件頭開始以字節數度量,是以 whence 指定的位置加上 offset。whence de 值定義為:
SEEK_SET - 設定位置等於 offset 字節。
SEEK_CUR - 設定位置為當前位置加上 offset。
SEEK_END - 設定位置為文件尾加上 offset。(要移動到文件尾之前的位置,需要給 offset 傳遞一個負值。)
bool rewind ( resource handle );
將 handle 的文件位置指針設為文件流的開頭
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php文件操作總結》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。