天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP文件讀寫操作之文件讀取方法詳解

php文件讀取操作相對于文件寫入操作涉及更多的php文件操作函數,在代碼實例中會詳細介紹這些函數。
  讀取文本文件中存儲數據的方式主要涉及的三個步驟及部分文件操作函數如下:
  1、打開文件(文件操作函數:fopen)
  2、文件數據讀取(文件操作函數:fgets、file、readfile、feof等)
  3、關閉文件(文件操作函數:fclose)

  下面仍然以php文件讀寫操作代碼實例講解文件讀取方法的具體應用,在實例中,通過調用不同的php文件讀取操作函數讀取文本文件中的數據,你可以加深php文件讀取操作函數的理解,以便在php網站開發中合理應用。文本文件中寫入的數據來自于php文件讀寫操作之文件寫入教程,fopen函數中關于文件讀寫模式也可參考此文。
  php文件讀取操作代碼實例
復制代碼 代碼如下:
<?
$readFun = "fread";
switch ($readFun)
{
case "fgetss":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
$allowable_tags = "<h1>";
while (!feof($fp)) {
$output = fgetss($fp,100,$allowable_tags);
echo $output;
}
fclose($fp);
break;
case "fgetcsv":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
while (!feof($fp)) {
$output = fgetcsv($fp,100,"/t");
print_r($output);
}
fclose($fp);
break;
case "readfile":
echo readfile("leapsoulcn.txt");
break;
case "fpassthru":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
if(!fpassthru($fp))
exit();
fclose($fp);
break;
case "file":
$output = file("leapsoulcn.txt");
print_r($output);
break;
case "fgetc":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
while (!feof($fp)) {
$str = fgetc($fp);
echo ($str == "/n"?"<br/>":$str);
}
fclose($fp);
break;
case "fread":
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
echo fread($fp,300);
fclose($fp);
break;
default:
@$fp = fopen("leapsoulcn.txt","r") or die("system error");
while (!feof($fp)) {
$output = fgets($fp,100);
echo $output;
}
fclose($fp);
break;
}
?>

注釋:在上述實例中你可以通過對$readFun賦值來實現不同的php文件讀取方法的調用,涉及的php文件讀取操作函數有fgets、fgetss、fgetcsv、readfile、fpassthru、file、fgetc等函數。
php文件讀取操作函數fgets、fgetss、fgetcsv之間的區別
  在代碼實例中,默認php文件讀取操作函數為fgets,fgetss與fgetcsv函數的功能與fgets一樣,都是一次讀取文件中的一行,直到文件末尾。此處我設定讀取文本文件中的數據長度為100,即最大讀取長度為99(100-1),這樣,當遇到換行符/n或文件結束符EOF或從文件中讀取完99個字節時就停止讀取數據。fgets函數返回文件讀取的數據,字符串型。
  fgetss函數是fgets函數的一個變體,它能夠剝離php和HTML標記,通過傳遞第三參數來過濾不必要的數據,可以提高網站安全性,比如留言本中可以過濾用戶的輸入數據,fgetss函數原型如下:
復制代碼 代碼如下:
string fgetss(resource fp,int length, string[optional] allowable_tags)

allowable_tags參數是可選項,實例中我事先在leapsoulcn.txt文件中寫入了包含html、body、h1標記的一行文字,然后在代碼中我設定只允許h1標記可以出現。
  fgetcsv函數是fgets的另一個變體,區別在與,當你的文本文件中寫入的數據使用了定界符,可以使用fgetcsv將一行分解成多行,返回的結果存儲在數組中,函數原型如下
復制代碼 代碼如下:
array fgetcsv(resource fp,int length, string[optional] delimiter,string[optional] enclosure)

delimiter是可選項,由于在之前寫入文件的數據中我是用了/t,所以在實例中文件讀取函數fgetcsv中的定界符我使用了/t,然后通過print_r打印出fgetcsv返回的數組結構。
  三個php文件讀取操作函數fgets、fgetss、fgetcsv共同之處在于事先都需要使用fopen函數打開讀取的文件,同時通過feof函數判斷是否文件指針到達文件末尾,切記在讀取操作完成后使用fclose函數關閉文件。
  fgetc:讀取單個字符
  fgetc函數用來讀取一個字符,在代碼實例中我通過一個一個讀取字符,當遇到/n字符時將其轉換成html文件中的br標記,以便在游覽器中顯示具體的換行效果,當然此函數的效率肯定是比較低的,不建議使用。
  php文件讀取操作函數readfile、fpassthru、file之間的區別
  三個函數共同之處是一次可以讀取整個文件,而不是一次讀一行或一個字符。區別在于:
  readfile函數打開文件,返回文件內容直接輸出在游覽器上,與fopen函數一樣,函數返回值為文件的字符總數,readfile函數的第二個參數是可選項,指明php是否應在include_path中查找文件。在代碼實例中,我使用echo語句不是用來輸出讀取的文件內容,而是輸出讀取的文件字符總數,讀取的文件內容readfile函數已自動輸出,這一點必須明確!readfile函數原型如下:
復制代碼 代碼如下:
int readfile(string filename,int[optional] use_include_path)

  file函數是另一種讀取文件的方法,它是把讀取的文件內容送到一個數組中,每行一個數組單元。file函數原型如下:
復制代碼 代碼如下: array file(string filename,bool[optional] use_include_path)
  fpassthru()函數用來輸出文件指針處的所有剩余數據,即如果文件指針并不在開頭,它只輸出文件指針后面的數據。該函數將給定的文件指針從當前的位置讀取到EOF,并把結果寫到輸出緩沖區,返回值為輸出的字符數。發生錯誤時,返回FALSE。與readfile()函數相比,fpassthru()函數需要首先打開文件,數據讀取完畢后要關閉文件。
  fread與file_exists、filesize函數
  fread函數也是讀取文件的一種方法,其可以從文件中讀取任意字節,要么滿足length要么讀到文件末尾。read函數原型如下:
復制代碼 代碼如下: string fread(resource fp,int length)
  在用到fread函數時,當你想讀取文件全部數據,又不知道文件數據長度時,filesize函數可以解決這個問題,即
復制代碼 代碼如下:
<?
  @$fp = fopen("leapsoulcn.txt","r") or die("system error");
  echo fread($fp,filesize("leapsoulcn.txt"));
  fclose($fp);
?>

php文件讀寫操作教程中我們還沒有使用過file_exists函數,通常在php網站開發中,出于各種考慮,有時當文件不存在時,我們并不像創建新文件,這時我們就需要在使用fopen函數前使用file_exists函數判斷文件是否存在,即
復制代碼 代碼如下:
<?
if(file_exists("leapsoulcn.txt"))
{
  //進行php文件讀寫操作
}
?>

以上就是php文件讀寫操作教程之文件讀取操作的各種方法介紹,通過合理應用php文件讀寫操作函數,可以實現簡單的留言本、網站log記錄等功能。

php技術PHP文件讀寫操作之文件讀取方法詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 怡春院国产精品视频 | 日韩av片无码一区二区不卡电影 | 精品熟女少妇AV免费观看 | 中文字幕免费在线视频 | 伊人免费在线 | 51精品国产AV无码久久久 | 亚洲精品久久久久中文字幕二区 | 久久精麻豆亚洲AV国产品 | 中文字幕视频免费在线观看 | 欧美日韩另类在线专区 | 忘忧草在线影院WWW日本动漫 | 美女的避毛 | 日本中文字幕巨大的乳专区 | 捏揉舔水插按摩师 | 男人到天堂a线牛叉在线 | 亚洲a视频在线观看 | 久久草福利自拍视频在线观看 | 无码国产成人777爽死在线观看 | 欧美性爱-第1页 | 亚洲精品无码一区二区三区四虎 | 欧美色图一区二区三区 | 摸董事长的裤裆恋老小说 | 色爱区综合激情五月综合激情 | 亚洲欧美精品无码大片在线观看 | 亚洲手机在线人成视频 | 免费无码一区二区三区蜜桃大 | 11 13加污女qq看他下面 | 97久久无码精品AV | 精品国产品在线18年 | 亚洲女初尝黑人巨磁链接 | 欧美黑人巨大videos免费 | 40岁东北老阿姨无码 | 99久久亚洲综合精品 | 国产精品看高国产精品不卡 | 久久成人午夜电影mp4 | 男生J桶进女人P又色又爽又黄 | 亚洲中文久久久久久国产精品 | 国产亚洲精品首页在线播放 | 欧洲最大无人区免费高清完整版 | 国产国拍精品AV在线观看 | 欧美高清xxx |