檔案系統處理

2021-06-21 09:16:40 字數 3403 閱讀 6498

檔案型別

以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之檔案系統處理 檔案上傳處理

bool is uploaded file string name 用於判斷指定的檔案是否通過httppost上傳的。filename必須類似於 files filename temp name 的變數,不可以使用從客戶端上傳的檔名 files filename name move upload f...

檔案系統 why檔案系統

為什麼需要檔案系統,可否由作業系統直接寫裸裝置?裸裝置是一種沒有經過格式化的磁碟或分割槽,即讓作業系統直接管理操作磁碟設定,進行資料讀寫等。通過檔案系統的方式組織磁碟儲存和資料管理有很多好處,比如 1.資料讀取 管理等操作變得簡單便捷 檔案系統給使用者提供了乙個簡單的操作介面,只需簡單的操作就能實現...

PHP之檔案系統處理 檔案操作

php之檔案系統處理 檔案操作相關的函式三 讓拖鞋再飛一會兒 目錄操作相關函式 函式名 作用 使用方法 opendir 開啟目錄控制代碼 resource opendir string path resource context readdir 從目錄控制代碼中讀取條目 string readdir...