国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP創建文件及寫入數據(覆蓋寫入,追加寫入)的方法詳解

2024-05-05 00:06:37
字體:
來源:轉載
供稿:網友

本文實例講述了PHP創建文件及寫入數據(覆蓋寫入,追加寫入)的方法。分享給大家供大家參考,具體如下:

這里主要介紹了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."成功!</br>");$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 file_put_contents() 函數

PHP file_put_contents() 函數是一次性向文件寫入字符串或追加字符串內容的最合適選擇。

file_put_contents() 函數用于把字符串寫入文件,成功返回寫入到文件內數據的字節數,失敗則返回 FALSE。

語法:

int file_put_contents ( string filename, string data [, int flags [, resource context]] )

參數說明:

 

參數 說明
filename 要寫入數據的文件名
data 要寫入的數據。類型可以是 string,array(但不能為多維數組),或者是 stream 資源
flags 可選,規定如何打開/寫入文件。可能的值:
1. FILE_USE_INCLUDE_PATH:檢查 filename 副本的內置路徑 
2. FILE_APPEND:在文件末尾以追加的方式寫入數據 
3. LOCK_EX:對文件上鎖
context 可選,Context是一組選項,可以通過它修改文本屬性

 

例子:

<?phpecho file_put_contents("test.txt", "This is something.");?>

運行該例子,瀏覽器輸出:

18

而 test.txt 文件(與程序同目錄下)內容則為:This is something.。

提示

如果文件不存在,則創建文件,相當于fopen()函數行為。
如果文件存在,默認將清空文件內的內容,可設置 flags 參數值為 FILE_APPEND 以避免(見下)。
本函數可安全用于二進制對象。

以追加形式寫入內容

當設置 flags 參數值為 FILE_APPEND 時,表示在已有文件內容后面追加內容的方式寫入新數據:

<?phpfile_put_contents("test.txt", "This is another something.", FILE_APPEND);?>

執行程序后,test.txt 文件內容變為:

This is something.This is another something.

file_put_contents() 的行為實際上等于依次調用 fopen()fwrite() 以及 fclose() 功能一樣。

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 泉州市| 林西县| 绥棱县| 古田县| 耿马| 泽州县| 阜城县| 绩溪县| 巨鹿县| 嵊泗县| 乌兰察布市| 威海市| 吴忠市| 肥城市| 河西区| 海阳市| 桐城市| 巴彦淖尔市| 黔西县| 兰坪| 桂阳县| 文水县| 开江县| 承德市| 将乐县| 开封县| 西和县| 沙河市| 沙雅县| 青田县| 和林格尔县| 莒南县| 泰和县| 涟水县| 宁夏| 南丰县| 临洮县| 洮南市| 西昌市| 桑日县| 民勤县|