php基礎入門六(文件系統)

php基礎入門六

文件系統

1>讀取文件內容

file_get_contents()

 意義:讀取文件中的內容

 語法file_get_contents(filename,filename,include_path,context,context,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(filename,filename,mode,includepath,include_path,context)
fclose 關閉fopen()打開的文件 fclose($handle)
fgets 從文件指針中讀取一行 fgets(handle,handle,len)
fgetss 從文件指針獲取行並剝離HTML標籤 fgetss(handle,handle,len)
fread 讀取文件 fread(handle,handle,len)
fwrite 寫入文件 fwrite(handle,handle,WString,$len)
file 把整個文件讀入一個數組中 file(filename,filename,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()

意義:用於刪除指定的文件。

發佈了42 篇原創文章 · 獲贊 56 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章