-
-
//檔案的基本操作
- //fopen()
- 開啟一個檔案
- //使用絕對路徑開啟一個文件,選擇唯讀模式,並傳回資源$handle
- $handle=fopen("D:/lamp/apache2/htdocs/test/file.txt","r");
- //存取文檔根目錄下的文件,也選擇唯讀模式
- $handle=fopen($_SERVER['DOCUMENT_ROOT']."/test/file.txt","r");
- //開啟遠端文件,使用http協定只能以讀取的方式開啟
- $handle=fopen("http://www.wowsai.com","r");
- //使用FTP協定開啟遠端文件,如果FTP伺服器可寫,則可以寫的模式開啟
- //$handle=fopen("ftp://user:password@example.com/file.txt",'w');
- //fclose( )
- 關閉開啟的資源類型
- //fwrite()
- 寫入內容到檔案
- $fileName="data.txt";
- //宣告一個檔案的變數
- //用只寫的方式開啟文件,沒有則創建,並且在開啟失敗時透過程式
- $f_handle=fopen("data.txt","w")or die("開啟". $fileName."檔案失敗");
- for($i=0;$i//透過一個循環,將內容新增至文件
- fwrite($f_handle,"againn");
- }
- fclose($f_handle);
- //關掉打開的檔案
- //file_put_contents()
- 一次寫入所有資料到指定的檔案中
- //讀取檔案內容
- //fread()
- 讀取開啟的檔案
- //file_get_contents()
- 將檔案讀入字串
- / /fgets()
- 從開啟的檔案回傳一行
- //fgetc()
- 從開啟的檔案回傳字元
- //file()
- 把檔案讀入一個陣列中
- //readfile()
- 讀取一個文件,並輸出到輸出緩衝
- //feof()
- 判斷一個檔案指標是否位於檔案的結束處
- //從檔案中讀取指定位元組數的內容存入一個變數
- $fileName2="data.txt";
- $f_hand=fopen($fileName2,"r")or die("檔案開啟失敗") ;
- $contents=fread($f_hand,50);
- fclose($f_hand);
- echo $contents."
";
- //從檔案讀取全部內容存入到一個變數中,每次讀取一部分,循環讀取
- /* $fileName3="D:/lamp/apache2/icons/link.gif";
- //將二進位檔案的檔案名稱儲存到一個變數
- $f3_handle=fopen($fileName3,"rb")or die("文件開啟失敗"); //以唯讀的方式開啟文件,模式加了"b"
- $f3_contents ="";
- //宣告一個用來保存檔案內容的字串
- while(!feof($f3_handle)){
- //循環讀取檔案中的內容,知道檔案結束
- $f3_contents.=fread($f3_handle,1024);
- //每次讀取1024個字元
- }
- fclose($f3_handle);
- echo $f3_contents; */ //另一個讀取檔案全部內容的方法
- $fileName4="data.txt";
- $f4_handle=fopen($fileName4,"r")or die("檔案開啟失敗");
- $f4_con=fread($f4_handle,filesize($fileName4));
- //用filesize取得檔案的長度,這樣來讀取檔案的全部內容
- fclose($f4_handle);
- echo $f4_con."
";
- //另一種方法讀取檔案的全部內容,比上面的效能要好的多
- echo file_get_contents("data.txt");
- $f5_handle =fopen("data.txt","r") or die("檔案開啟失敗");
- while(!feof($f5_handle)){
- //判斷指標是否到檔案結尾
- $buffer=fgets($f5_handle);
- //每次從檔案讀取一行
- echo $buffer."
";
- }
- fclose($f5_handle);
- $f6_handle=fopen("data.txt","r") or die("檔案開啟失敗");
- while(!feof($f6_handle)){
- //判斷指標是否到檔案結尾
- $buffer=fgetc($f6_handle);
- //每次從檔案讀取一個字元
- echo $buffer."
";
- }
- fclose($f6_handle );
- print_r(file("data.txt"));
- //把文件讀入到一個數組
- readfile("data.txt");
- //直接將文件中的內容讀出,並輸出到瀏覽器
- //存取遠端檔案
- 確保php.ini中的"allow_url_fopen"是開啟的,並且確保遠端檔案具有存取權限
- $ws_file=fopen( "http://www.wowsai.com","r")or die("遠端檔案開啟失敗");
- //開啟遠端檔案
- while(!feof($ws_file)){
- $ws_line=fgets($ws_file);
- if(preg_match("/(.*)/",$ws_line,$res)){
- //使用正規比對網站的標題
- $title=$res[1];
- break;
- }
- }
- fclose($ws_file);
- echo $title."
";
- //移動檔案的指標
- //ftell()
- 傳回指標的目前位置
- //fseek()
- 移動指標到指定的位置
- //rewind()
- 移動指標到檔案的開頭
- $fp=fopen("data.txt","r") 或die("檔案開啟失敗");
- //用唯讀方式開啟檔案
- echo ftell($fp)."
";
- //輸出剛開啟檔案時的指標的位置,預設是0
- echo fread($fp,10)."
";
- //讀取檔案的前10個字符,檔案指針發生了改變
- echo ftell($fp) ."
";
- //讀取檔案的10個字元後,檔案的指標到了10的位置
- fseek($fp,30,SEEK_CUR);
- //將檔案的指針向後移動30個字元
- echo ftell($fp)."
";
- //檔案移動30個字元後,到了40的位置
- echo fread($fp,10). "
";
- //讀取40到50之間的字符,指針會到50
- fseek($fp,-10,SEEK_END);
- //將指針設定到檔案倒數第10的位置
- echo fread($fp,10)."
";
- //輸出檔案最後10個字
- rewind($fp);
- //將檔案指針設定到檔案的開頭
- echo ftell($fp);
- //檔案的指標又回到了開頭,所以會輸出0
- fclose($fp);
- ?>
-
複製程式碼
|