北京赛车 pk10开奖记录_Toyou热购彩票官网
香港高速VIP雲機房火爆上線啦!無需備案腦,開通即用!配套《巔雲自助建站系統3.0》將帶給您飛一般的可視化拖拽建站體驗氮,歡迎免費體驗亂。

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

一佰互聯網站制作(www.yinxi.net) 發布日期 2019-04-30 09:22:29 瀏覽數: 32

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," ");
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 == " "?"<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)霜吐,這樣窟,當遇到換行符 或文件結束符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是可選項淡兄軟,由于在之前寫入文件的數據中我是用了 喚躬華,所以在實例中文件讀取函數fgetcsv中的定界符我使用了 葦肖喂,然後通過print_r打印出fgetcsv返回的數組結構將匡痹。
  三個PHP文件讀取操作函數fgets寢乳褂、fgetss霞獻熬、fgetcsv共同之處在于事先都需要使用fopen函數打開讀取的文件略粕邯,同時通過feof函數判斷是否文件指針到達文件末尾盼胎,切記在讀取操作完成後使用fclose函數關閉文件躺。
  fgetc仟墮︰讀取單個字符
  fgetc函數用來讀取一個字符綽,在代碼實例中我通過一個一個讀取字符護,當遇到 字符時將其轉換成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開發和域名注冊及虛擬主機服務經驗賒,提供的自助建站服務更是全國有名旅奔。近年來還整合團隊優勢自主開發了可視化多用戶”巔雲建站系統“3.0平台版諧姐邯,拖拽排版網站制作設計傻刊帝,輕松實現pc站漿啊、手機微網站諱漣稿、小程序咖溉漆、APP一體化全網營銷網站建設 灘冷,已成功的為全國上百家網絡公司提供自助建站平台搭建服務邦藕刷。

相關新聞more

11
04月
24歲月薪2W氯凶筋,好的機會惋表管,離不開這個技能…

設計稿總覺得哪里怪怪的滌淚響,但是不知道怎麼改?設計缺乏完整的體系支撐艇燴,每次設計效果差強人意?已經很努力地在工作了碩幾,但是薪資沒漲煎俱勘,跳槽無門?被類似... >>詳情

01
05月
require(),include(),re

require()和include()有許多相似之處龔,也有些不同躺屠。理解它們的不同點非常重要苫,否則很容易犯錯誤討。 我把這兩個語句放在一起介紹禿憋毫,... >>詳情

28
04月
php將文本文件轉換csv輸出的方法

本文實例講述了php將文本文件轉換csv輸出的方法怕賴瘋。分享給大家供大家參考僕。具體實現方法如下廟毫擺︰這個類提供了轉換成固定寬度的CSV文件,快速,簡... >>詳情

28
04月
SEO的發展趨勢怎麼樣???

如果你要想在SEO這條路上走得更遠堆,就需要不斷學習年、提升視野虱趕蹭、做好各種知識儲備瘓僥懦,用長遠的眼光看清未來SEO可能的發展趨勢態飼歧。下面我們一起來看看... >>詳情

營業執照. cdn加速服務 備案系統認證 網絡安全協會 我們的支付方式AAA認證

7x24小時服務電話:18581389571 傳真:023-85725751 免費建站交流群首透膩︰236412099 139947842(自助建站交流) E-Mail:post@yinxi.net 網站投訴:
重慶楚捷科技有限公司 一佰互聯©版權所有 自助建站(www.yinxi.net,Inc.) 2001-2020 All Rights Reserved 本站程序受法律保護,網站法律顧問屑罰︰ITLAW-莊毅雄律師
中華人民共和國信息產業部網站備案號:渝ICP備12000592號
北京赛车pk10开奖 北京赛车