PHP建立檔案,並向檔案中寫入資料,覆蓋,追加的實現代碼,_PHP教程

來源:互聯網
上載者:User

PHP建立檔案,並向檔案中寫入資料,覆蓋,追加的實現代碼,


建立檔案我們用到函數

fopen ( string filename, string mode )
參數filename為建立檔案名稱
參數mode為以什麼方式開啟檔案filename
其中mode可能值列表:

mode 說明

‘r' 唯讀方式開啟,將檔案指標指向檔案頭。
‘r+' 讀寫方式開啟,將檔案指標指向檔案頭。
‘w' 寫入方式開啟,將檔案指標指向檔案頭並將檔案大小截為零。如果檔案不存在則嘗試建立之。
‘w+' 讀寫方式開啟,將檔案指標指向檔案頭並將檔案大小截為零。如果檔案不存在則嘗試建立之。
‘a' 寫入方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立之。
‘a+' 讀寫方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立之。
‘x' 建立並以寫入方式開啟,將檔案指標指向檔案頭。如果檔案已存在,則 fopen() 調用失敗並返回 FALSE,並產生一條 E_WARNING 層級的錯誤資訊。如果檔案不存在則嘗試建立之。這和給 底層的 open(2) 系統調用指定 O_EXCL|O_CREAT 標記是等價的。此選項被 PHP 4.3.2 以及以後的版本所支援,僅能用於本地檔案。
‘x+' 建立並以讀寫方式開啟,將檔案指標指向檔案頭。如果檔案已存在,則 fopen() 調用失敗並返回 FALSE,並產生一條 E_WARNING 層級的錯誤資訊。如果檔案不存在則嘗試建立之。這和給 底層的 open(2) 系統調用指定 O_EXCL|O_CREAT 標記是等價的。此選項被 PHP 4.3.2 以及以後的版本所支援,僅能用於本地檔案。
下面代碼是我通過利用函數fopen建立一個名為Demo,格式為txt的檔案,並在檔案中寫入"Welcome To ItCodeWorld!"的資料。

< ?php//要建立的兩個檔案$TxtFileName = "Demo.txt";//以讀寫方式打寫指定檔案,如果檔案不存則建立if( ($TxtRes=fopen ($TxtFileName,"w+")) === FALSE){echo("建立可寫檔案:".$TxtFileName."失敗");exit();}echo ("建立可寫檔案".$TxtFileName."成功!
");$StrConents = "Welcome To ItCodeWorld!";//要 寫進檔案的內容if(!fwrite ($TxtRes,$StrConents)){ //將資訊寫入檔案echo ("嘗試向檔案".$TxtFileName."寫入".$StrConents."失敗!");fclose($TxtRes);exit();}echo ("嘗試向檔案".$TxtFileName."寫入".$StrConents."成功!");fclose ($TxtRes); //關閉指標?>

PHP 建立檔案 – fopen()
fopen() 函數也用於建立檔案。也許有點混亂,但是在 PHP 中,建立檔案所用的函數與開啟檔案的相同。
如果您用 fopen() 開啟並不存在的檔案,此函數會建立檔案,假定檔案被開啟為寫入(w)或增加(a)。
下面的例子建立名為 "testfile.txt" 的新檔案。此檔案將被建立於 PHP 代碼所在的相同目錄中:
執行個體
$myfile = fopen("testfile.txt", "w")
PHP 檔案許可權
如果您試圖運行這段代碼時發生錯誤,請檢查您是否有向硬碟寫入資訊的 PHP 檔案存取權限。
PHP 寫入檔案 – fwrite()
fwrite() 函數用於寫入檔案。
fwrite() 的第一個參數包含要寫入的檔案的檔案名稱,第二個參數是被寫的字串。
下面的例子把姓名寫入名為 "newfile.txt" 的新檔案中:
執行個體

<?php$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");$txt = "Bill Gates\n";fwrite($myfile, $txt);$txt = "Steve Jobs\n";fwrite($myfile, $txt);fclose($myfile);?>

請注意,我們向檔案 "newfile.txt" 寫了兩次。在每次我們向檔案寫入時,在我們發送的字串 $txt 中,第一次包含 "Bill Gates",第二次包含 "Steve Jobs"。在寫入完成後,我們使用 fclose() 函數來關閉檔案。
如果我們開啟 "newfile.txt" 檔案,它應該是這樣的:
Bill Gates
Steve Jobs

PHP 覆蓋(Overwriting)

如果現在 "newfile.txt" 包含了一些資料,我們可以展示在寫入已有檔案時發生的的事情。所有已存在的資料會被擦除並以一個新檔案開始。
在下面的例子中,我們開啟一個已存在的檔案 "newfile.txt",並向其中寫入了一些新資料:
執行個體

<?php$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");$txt = "Mickey Mouse\n";fwrite($myfile, $txt);$txt = "Minnie Mouse\n";fwrite($myfile, $txt);fclose($myfile);?>

如果現在我們開啟這個 “newfile.txt” 檔案,Bill 和 Steve 都已消失,只剩下我們剛寫入的資料:

Mickey Mouse
Minnie Mouse


分行符號‘\n'和斷行符號符‘\r'
顧名思義,分行符號就是另起一行,斷行符號符就是回到一行的開頭,所以我們平時編寫檔案的斷行符號符應該確切來說叫做斷行符號分行符號

‘\n' 10 換行(newline)
‘\r' 13 斷行符號(return)

也可以表示為'\x0a'和'\x0d'.(16進位)
在windows系統下,斷行符號分行符號號是”\r\n”.但是在Linux等系統下是沒有”\r”符號的。
在解析文本或其他格式的檔案內容時,常常要碰到判定斷行符號換行的地方,這個時候就要注意既要判定”\r\n”又要判定”\n”。
寫程式時可能得到一行,將其進行trim掉'\r',這樣能得到你所需要的string了。

您可能感興趣的文章:

  • PHP 建立檔案(檔案夾)以及目錄作業碼
  • PHP在擷取指定目錄下的目錄,在擷取的目錄下面再建立檔案,多平台
  • php 產生自動建立檔案夾並上傳檔案的範例程式碼
  • php的mkdir()函數建立檔案夾比較安全的使用權限設定方法

http://www.bkjia.com/PHPjc/1113689.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1113689.htmlTechArticlePHP建立檔案,並向檔案中寫入資料,覆蓋,追加的實現代碼, 建立檔案我們用到函數 fopen ( string filename, string mode ) 參數filename為建立檔案名稱...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.