php基礎入門六
文件系統
1>讀取文件內容
file_get_contents()
意義:讀取文件中的內容
語法file_get_contents(include_path,offset,$maxlen)
返回值:返回讀取數據或失敗(false)
參數表
參數 | 描述 |
---|---|
filename | 讀取的文件名稱 |
include_path | 設置搜索路徑(可選) |
context | 規定文件句柄的環境(可選) |
offset | 原始數據流讀取開始的偏移量(可選) |
maxlen | 數據讀取最大長度(可選) |
set_include_path("file/"); //設置搜尋的路徑
if(file_get_contents("file.txt",true)){
echo file_get_contents("file.txt",true);
}else{
echo "不存在";
}
file_get_contents()不僅可以讀取本地文件內容還可以讀取網頁內容
if(file_get_contents(“http://www.baidu.com”)){
echo "獲得網頁內容並輸出";
echo file_get_contents(“http://www.baidu.com”);
}else{
echo "不存在";
}
$content = file_get_contents(‘file.txt’, null, null, 100, 500);
2>php中操作文件的方法
方法 | 描述 | 語法 |
---|---|---|
fopen | 打開文件 | fopen(mode,context) |
fclose | 關閉fopen()打開的文件 | fclose($handle) |
fgets | 從文件指針中讀取一行 | fgets(len) |
fgetss | 從文件指針獲取行並剝離HTML標籤 | fgetss(len) |
fread | 讀取文件 | fread(len) |
fwrite | 寫入文件 | fwrite(WString,$len) |
file | 把整個文件讀入一個數組中 | file(flags,$context) |
feof | 文件指針是否到文件結束的位置 | feof($handle) |
feof()函數中文件指針到了末尾或者出錯時則返回 TRUE,否則返回一個錯誤,其它情況則返回 FALSE。
$handle = "text.txt";
$fp = fopen($handle, 'rb');
while(!feof($fp)) {
echo fgets($fp); //讀取一行
}
fclose($fp);
$fp = fopen($handle, 'rb');
$contents = '';
while(!feof($fp)) {
$contents .= fread($fp, 4096); //一次讀取4096個字符
}
fclose($fp);
往文件中寫入內容
//打開文件
$filename = fopen("text.txt","w");
//寫入數據
fwrite($filename,"新寫入的數據");
//關閉文件
fclose($filename);
//讀取
$filename1 = 'text.txt';
if (file_exists($filename1)) {
echo file_get_contents($filename1);
}
3>判斷文件是否存在
PHP中常用來判斷文件存在的函數有兩個is_file與file_exists。
如果只是判斷文件存在,使用file_exists就行,file_exists不僅可以判斷文件是否存在,同時也可以判斷目錄是否存在,從函數名可以看出,is_file是確切的判斷給定的路徑是否是一個文件。
is_file()和file_exists()效率
1)當文件存在時,前者比後者速度快
2)當文件不存在時,兩者的訪問速度是一樣快
4>判斷文件是否可讀與可寫
is_readable與is_writeable在文件是否存在的基礎上,判斷文件是否可讀與可寫。
$filename = './test.txt';
if (is_file($filename)) {
echo file_get_contents($filename);
}
$filename = './test.txt';
if (is_writeable($filename)) {
file_put_contents($filename, 'test');
}
if (is_readable($filename)) {
echo file_get_contents($filename);
}
5>與文件相關的時間點
方法 | 描述 |
---|---|
fileowner | 獲得文件的所有者 |
filectime | 獲取文件的創建時間 |
filemtime | 獲取文件的修改時間 |
fileatime | 獲取文件的訪問時間 |
6>獲得文件大小
通過filesize()函數可以取得文件的大小,文件大小是以字節數表示的。
自定義文件大小轉換
function getsize($size, $format = 'kb'){
$p = 0;
if ($format == 'kb') {
$p = 1;
} elseif ($format == 'mb') {
$p = 2;
} elseif ($format == 'gb') {
$p = 3;
}
$size /= pow(1024, $p);
return number_format($size, 3);
}
7>刪除文件的方法
unlink()
意義:用於刪除指定的文件。