PHP檔案系統

2021-08-07 20:36:33 字數 2925 閱讀 8383

php檔案系統

1.php檔案系統之讀取檔案內容

php具有豐富的檔案操作函式,最簡單的讀取檔案的函式為file_get_contents,可以將整個檔案全部讀取到乙個字串中。

$content = file_get_contents('./test.txt');

file_get_contents也可以通過引數控制讀取內容的開始點以及長度

$content = file_get_contents('./test.txt', null, null, 100, 500);

php也提供類似於c語言操作檔案的方法,使用fopen,fgets,fread等方法,fgets可以從檔案指標中讀取一行,freads可以讀取指定長度的字串。

$fp = fopen('./text.txt', 'rb');

while(!feof($fp))

fclose($fp);

$fp = fopen('./text.txt', 'rb');

$contents = '';

while(!feof($fp))

fclose($fp);

使用fopen開啟的檔案,最好使用close關閉檔案指標,以避免檔案控制代碼被占用。

2.php檔案系統之判斷檔案是否存在

一般情況下對檔案進行操作的時候需要先判斷檔案是否存在,php中常用來判斷檔案存在的函式有兩個is_file與file_exists.

$filename = './test.txt';

if (file_exists($filename))

如果只是判斷檔案是否存在,使用file_exists就行,file_exists不僅可以判斷檔案是否存在,同時也可以判斷目錄是否存在,從函式名可以看出,is_file是確切的判斷給定的路徑是否是乙個檔案。

$filename = './test.txt';

if (is_file($filename))

更加精確的可以使用is_readable與is_writeable在檔案是否存在的基礎上,判斷檔案是否可讀與可寫。

$filename = './test.txt';

if (is_writeable($filename))

if (is_readable($filename))

3.php檔案系統之取得檔案的修改時間

檔案有喝多元屬性,包括:檔案的所有者、建立時間、修改時間、最後的訪問時間等。

fileowner:獲得檔案的所有者

filectime:獲取檔案的建立時間

filemtime:獲取檔案的修改時間

fileatime:獲取檔案的訪問時間

其中最常用的檔案的修改時間,通過檔案的修改時間,可以判斷檔案的時效性,經常用在靜態檔案或者快取資料的更新。

$mtime = filemtime($filename);

4.php檔案系統之取得檔案的大小

通過filesize函式可以取得檔案的大小,檔案大小是以位元組數表示的。

$filename = '/data/webroot/usercode/resource/test.txt';

$size = filesize($filename);

如果要轉換檔案大小的單位,可以自己定義函式來實現

function getsize($size, $format = 'kb') elseif ($format == 'mb') elseif ($format == 'gb')

$size /= pow(1024, $p);

return number_format($size, 3); }

$filename = '/data/webroot/usercode/code/resource/test.txt';$size = filesize($filename);

$size = getsize($size, 'kb'); //進行單位轉換echo $size.'kb';

值得注意的是,沒法通過簡單的函式來取得目錄的大小,目錄的大小是該目錄下所有子目錄以及檔案大小的總和,因此需要通過遞迴的方法來迴圈計算目錄的大小。

5.php檔案系統之寫入內容到檔案

與讀取檔案對應,php寫檔案也具有兩種方式,最簡單的方式是採用file_put_contents.

$filename = './test.txt';

$data = 'test';

file_put_contents($filename, $data);

上例中,$data引數可以是乙個一維陣列,當$data時陣列的時候,會自動的將陣列連線起來,相當於$data=implode('', $data);

同樣的,php也支援類似c語言風格的操作方式,採用fwrite進行檔案寫入。

$fp = fopen('./test.txt', 'w');

fwrite($fp, 'hello');

fwrite($fp, 'world');

fclose($fp);

6.php檔案系統之刪除檔案

跟unix系統命令類似,php使用unlink函式進行檔案刪除。

unlink($filename);

刪除資料夾使用rmdir函式,資料夾必須為空,如果不為空或者沒有許可權則會提示失敗。

rmdir($dir);

如果資料夾中存在檔案,可以先迴圈刪除目錄中的所有檔案,然後再刪除該目錄,迴圈刪除可以使用glob函式遍歷所有檔案。

foreach (glob("*") as $filename)

PHP檔案系統

php具有豐富的檔案操作函式,最簡單的讀取檔案的函式為file get contents,可以將整個檔案全部讀取到乙個字串中。content file get contents test.txt file get contents也可以通過引數控制讀取內容的開始點以及長度。content file ...

PHP 檔案系統

file get contents 整個檔案全部讀取到乙個字串中 fopen 檔案路徑 模式 feof end of file fgets 讀取一行 fread source,num 一次讀取num個字串 fclose 避免檔案控制代碼被占用 對檔案進行操作前,先判斷檔案是否存在,用到的函式 is ...

PHP檔案系統

1.php檔案系統讀取檔案內容 php具有豐富的檔案操作函式,最簡單的讀取檔案的函式為file get contents,可以將整個檔案全部讀取到乙個字串中。content file get contents test.txt file get contents也可以通過引數控制讀取內容的開始點以及...