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');使用fopen開啟的檔案,最好使用fclose關閉檔案指標,以避免檔案控制代碼被占用。$contents = '';
while(!feof($fp))
fclose($fp);
一般情況下在對檔案進行操作的時候需要先判斷檔案是否存在,php中常用來判斷檔案存在的函式有兩個is_file與file_exists.
$filename = './test.txt';如果只是判斷檔案存在,使用file_exists就行,file_exists不僅可以判斷檔案是否存在,同時也可以判斷目錄是否存在,從函式名可以看出,is_file是確切的判斷給定的路徑是否是乙個檔案。if (file_exists($filename))
$filename = './test.txt';更加精確的可以使用is_readable與is_writeable在檔案是否存在的基礎上,判斷檔案是否可讀與可寫。if (is_file($filename))
$filename = './test.txt';檔案有很多元屬性,包括:檔案的所有者、建立時間、修改時間、最後的訪問時間等。if (is_writeable($filename))
if (is_readable($filename))
fileowner:獲得檔案的所有者其中最常用的是檔案的修改時間,通過檔案的修改時間,可以判斷檔案的時效性,經常用在靜態檔案或者快取資料的更新。filectime:獲取檔案的建立時間
filemtime:獲取檔案的修改時間
fileatime:獲取檔案的訪問時間
$mtime = filemtime($filename);通過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';
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也可以通過引數控制讀取內容的開始點以及...