PHP讀取TXT檔案

●要讀取的txt檔的權限一定要為646,而非一般的644。
●文字用雙引號括住"",如 "1234";數字則不用,如:1234。
●變數前一定要加上錢字號 $。
●PHP程式碼要放在 <?    ?> 之中,檔案副檔名要為 .php。
From:http://sean.infor.org/phpteach/phpteach.htm

fopen --- 開啟檔案或URL
語法 : fopen( 檔案名稱 , 開啟模式 )
開啟模式列表:
"r"-- 開啟檔案成為唯讀,檔案指標指到檔案的開始處。
"r+"-- 開啟檔案成為讀與寫,檔案指標指到檔案的開始處。
"w" -- 開啟檔案成為只有寫入,檔案指標指到檔案的開始處並且將原本的檔案 內容設為0長度,即刪除原來的資料,若檔案不存在則試著去建立新檔。
"w+"-- 開啟檔案成為讀與寫,檔案指標指到檔案的開始處並且將原本的檔案內 容設為0長度,即刪除原來的資料,若檔案不存在則試著建立新檔。
"a"-- 開啟檔案成為只有寫入,檔案指標指到檔案的最後處,若檔案不存在則試 著建立新檔。
"a+"-- 開啟檔案為讀與寫,檔案指標指到檔案的最後處,若檔案不存在則試著 建立新檔。
範例:
$fp=fopen("infor.txt","r");
開啟名叫 infor.txt 的檔案且設為讀取模式 ,並回傳檔案指標給 $fp,以利以後使用 $fp 對檔案做處理。
=========================
fclose --- 關閉已開啟的檔案指標
語法 : fclose(檔案指標)
範例:

$fp=fopen("infor.txt","w");
fclose($fp);

關閉之前開啟的 infor.txt 檔案。
========================
fgets --- 取得檔案指標所指的行
語法 : fgets(檔案指標,讀取字元長度)
範例:

$fp=fopen("infor.txt","r");
$mydata=fgets($fp,1024);
 fclose($fp);

讀取 infor.txt 檔案1024長度的字元並傳給$mydata。
========================
fputs --- 將資料寫到檔案指標處
語法 : fputs(檔案指標,寫入字元內容)
範例:

$fp=fopen("infor.txt","w");
 fputs($fp,"summer2004");
 fclose($fp);

寫入 summer2004 到 infor.txt 這個檔案內。
=======================
feof --- 測試指標是否在檔案結束處
語法 : feof(檔案指標)
範例:

$fp=fopen("infor.txt","r");
 while(!feof($fp)){
 $mychar=fgets($fp,1);
 }
 fclose($fp);

把 infor.txt 檔內的內容一個字一個字地慢慢讀出,直到讀到檔案的結尾(也就是最後一個字)為止。
=======================
fgetcsv --- 從檔案指標取得行並且剖析CSV欄位
語法: fgetcsv(檔案指標,讀取長度,分隔符號)
範例:

$fp=fopen("infor.txt","r");
 $mycsv=fgetcsv($fp,2048,"*");
 echo $mycsv[2];
 fclose($fp);

假設 infor.txt 的內容是:
sean*16*ck*222*infor*male
則按照範例執行的話,由於分隔符號為 *,所以使用fgetcsv後,會把 infor.txt 的內容分為6個部分,並回傳給$mycsv,因此,$mycsv[0]=sean、$mycsv[1]=16、$mycsv[2]=ck、$mycsv[3]=222、$mycsv[4]=infor、$mycsv[5]=male,所以echo的部分會輸出 ck ,當然要把*號換成其他東西也是可以的。
注意事項:
●上述讀取檔案的函式都是最多讀到一行,例如某個叫 ptt.txt 檔的內容如下:
summer2004
hulahula
則萬一某php程式碼如下:
$myvalue=fgets("ptt.txt",1024);
則就算長度設成1024遠遠超出 summer2004的長度,但也只會讀到 summer2004,而讀不到hulahula,
如果要讀到 hulahula 的話,程式碼如下:
$myvalue1=fgets("ptt.txt",1024);
$myvalue2=fgets("ptt.txt",1024);
如此一來,$myvalue1=summer2004,$myvalue2=hulahula,若要把程式改得更靈活的話,請擅用迴圈。
=======================
計數器範例:
假設在主機空間中有兩個檔案 welcome.php 和 counter.txt,則 counter.txt 的內容如下:
然後在 welcome.php 中打入以下程式碼:

<?
 $fname="counter.txt";
 $fp=fopen($fname,"r");
 $getnum=fgets($fp,1024);
 fclose($fp);
 $getnum=$getnum+1;
 echo "您是第".$getnum."為訪客";
 $fp=fopen($fname,"w");
 fputs($fp,$getnum);
 fclose($fp);
?>

則這就是一個最簡單的計數器了。
順便列出一個學習php函式的好網站:http://linux.tnc.edu.tw/techdoc/banic/

Please follow and like us:

3 comments on “PHP讀取TXT檔案

  1. 你好!
    我注意到很多男人更喜欢普通的女孩。
    我为那里的男人鼓掌,他们有胆量享受许多女人的爱,并选择一个他知道在生活这个坎坷而疯狂的事情中成为他最好的朋友的人。
    我想成为那个朋友,而不仅仅是一个稳定、可靠和乏味的家庭主妇。
    我今年 28 岁,卡琳娜,来自捷克共和国,也懂英语。
    不管怎样,你可以在这里找到我的个人资料:http://kotlopicha.ga/idi-87743/

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *