php取代模板變數的方法:1、用fopen()函數開啟檔案;2、透過fread函數讀取檔案;3、使用str_replace函數實作取代模板變數即可,語法「str_replace(find, replace,string,count)」。
本文操作環境:Windows7系統、PHP8、Dell G3電腦。
PHP 取代模板變數實作步驟
1.首先需要開啟一個檔案.這裡用到了PHP ->fopen();函數
定義和用法
fopen() 函數開啟檔案或URL。
如果開啟失敗,本函數傳回 FALSE。
函數原型:
fopen(filename,mode,include_path,context)
說明
fopen() 將filename 指定的名字資源綁定到一個流上。如果 filename 是 "scheme://..." 的格式,則被當成一個 URL,PHP 將搜尋協定處理器(也稱為封裝協定)來處理此模式。如果該協議尚未註冊封裝協議,PHP 將發出一條訊息來幫助檢查腳本中潛在的問題並將 filename 當成一個普通的檔案名稱繼續執行下去。
如果 PHP 認為 filename 指定的是一個本機文件,就會嘗試在該文件上開啟一個流。該檔案必須是 PHP 可以存取的,因此需要確認檔案存取權限允許該存取。如果啟動了安全模式或 open_basedir 則會套用進一步的限制。
如果 PHP 認為 filename 指定的是一個已註冊的協議,而該協議被註冊為一個網路 URL,PHP 將檢查並確認 allow_url_fopen 已被啟動。如果關閉了,PHP 將發出一個警告,而 fopen 的呼叫則失敗。
對 context 的支援是 PHP 5.0.0 新增的。
提示與註解
註解:為移植性考慮,強烈建議在用 fopen() 開啟檔案時總是使用 "b" 標記。
2.開啟這個檔案以後,對這個檔案進行讀取.這裡用到了PHP ->fread();函數
定義和用法
fread() 函數讀取檔案(可安全用於二進位檔案)。
函數原型:
fread(file,length) //備註:我才知道.這個函數取得到的檔案是按位元組(Byte)來計算檔案大小的... .
說明
fread() 從檔案指標file 讀取最多length 個位元組。此函數在讀取完最多length 個位元組數,或到達EOF 的時候,或(對於網路流)當一個包可用時,或(在開啟用戶空間流之後)已讀取了8192 個位元組時就會停止讀取文件,視乎先碰到哪種情況。
傳回所讀取的字串,如果出錯回傳 false。
提示與註解
提示:如果只是想將一個檔案的內容讀入到一個字串中,請使用 file_get_contents(),它的效能比 fread() 好得多。
範例1 :從檔案中讀取10 個位元組:
<?php $file = fopen("test.txt","r"); fread($file,"10"); fclose($file); ?> <?php $file = fopen("test.txt","r"); fread($file,"10"); fclose($file); ?>
範例2:讀取整個檔案:
<?php $file = fopen("test.txt","r"); fread($file,filesize("test.txt")); fclose($file); ?> <?php $file = fopen("test.txt","r"); fread($file,filesize("test.txt")); fclose($file); ?>
3.開始取代模板變數.這裡用到了PHP->str_replace();函數
定義和用法
str_replace() 函數使用一個字串取代字串中的另一些字元。
函數原型:
str_replace(find,replace,string,count)
提示與註解
註解:此函數對大小寫敏感。請使用 str_ireplace() 執行對大小寫不敏感的搜尋。
註解:此函數是二進位安全的。
3.取代模板變數後.使用PHP->echo();函數進行輸出
編碼部分:
$title="测试标题"; $file="测试内容"; //打开这个模板 $tempdata=fopen("test.html","r"); //读取模板中的内容 $str=fread($tempdata,filesize("test.html")); //替换模板中的内容 $str=str_replace('{$title}',$title,$str); $str=str_replace('{$center}',$file,$str); //输出 echo $str;
【推薦:《PHP視頻教程》】
以上是php 怎麼替換模板變數的詳細內容。更多資訊請關注PHP中文網其他相關文章!