十月 22

●要讀取的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 的內容如下:
0
然後在 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/

加入這篇文章到書籤網站或寄給朋友分享
Entry End
文章引用網址:
http://article.denniswave.com/961/trackback

yarpp_ralated_post 相關文章 yarpp_ralated_post

迴響 (1) Facebook 迴響 引用 (0)
  1. :lol: :lol: :lol: :o :mrgreen: :shock: :?:


發表迴響


還沒有人引用這篇文章。


文章引用網址:
http://article.denniswave.com/961/trackback

Valid XHTML 1.1 Valid CSS3! CC:by-nc-sa_2.5 anti_IE

關閉