中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用php怎么生成靜態頁面

發布時間:2021-05-14 17:09:26 來源:億速云 閱讀:161 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關使用php怎么生成靜態頁面,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1、什么是靜態化

就比如我們平時寫項目的時候,大部分的頁面都是會傳參數進去,通過php標簽把這些參數展示出來。因為我們的參數隨時可以變化,所以頁面上的內容也跟著參數變化,這就是動態化的頁面。與之相反,靜態化就是純粹的html,頁面上的內容不需要通過php或者java等編程語言來改變。

關于靜態化的優點,網上也都說的很清楚了,這邊不再一一贅述,總之就是打開速度夠快,能抗住大流量訪問。

2、靜態化寫法

(1)第一種寫法是通過ob_start()緩存來輸出

在php文件中編寫html代碼,然后用bo_get_content獲取到,然后輸出到html文件,類似于:

 <?php
 //打開輸出控制緩存
 ob_start();
 echo "<html><head><title>test頁面</title></head><body>Hello world</body></html>";
 //獲取緩沖區的內容
 $out = ob_get_contents();
 //關閉輸出緩存
 ob_end_clean();
 //打開test.html文件開啟寫入權限
 $fp = fopen("test.html", "w");
 if (!$fp) {
 echo "Fail";die;
 } else {
 //寫入文件
 fwrite($fp, $out);
 //關閉文件
 fclose($fp);
 echo "Success";
 }

參考:php輸出控制函數和輸出函數生成靜態頁面

這種寫法個人感覺會稍微亂一點,而且如果頁面復雜的話,寫出來的php+html代碼會有些雜亂,所以博主選用的是第二種方法。

(2)提前寫好模板頁,然后進行替換

先準備好靜態文件,然后把要替換的部分標出來,如{title},在php程序中用file_get_content獲取html文件的內容,然后進行替換,替換之后保存為文件。

模板頁:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>{top_title}</title>
 <link rel="stylesheet" href=" " rel="external nofollow" >
</head>
<body>
<div class="news-details-template">
 <h2>{title}</h2>
 <div class="author">{author}</div>

 <div class="date">{show_time}</div>
 <div class="line"></div>
 <div>
 {content}
 </div>
</div>
</body>
</html>

我們先編寫好模板頁面,包括都有哪部分需要替換,基本的樣式等,提前寫好

php替換:

$path = \Yii::getAlias('@xxx').'/views/site/notice-detail.php';
$content = file_get_contents($path); //引入模板
 //獲取要替換的值進行字符串的替換
 $content = str_replace('{top_title}',$title,$content);
 $content = str_replace('{title}',$title,$content);
 .......
 $dir = $path ."/html/";
 if (!file_exists($dir)) {
 mkdir($dir);
 }
$filename=$dir.'/'.$filename; //這里就不判斷html是否存在了,因為寫入會覆蓋
$result = file_put_contents($filename,$content);//寫入內容到對應靜態文件中

大概就是先通過file_get_contents獲取模板頁的內容,然后通過str_replace進行標簽的替換,替換完成之后,通過file_pu_contents寫入到新文件即可。生成的html,我們可以生成多個html,讓前端根據不同的頁面去訪問不同的html即可。

三、生成預覽

生成html之后,一般來說是需要預覽給工作人員看看的,畢竟人家也不懂技術,不知道到底生成的是啥

1、使用dialog打開窗口

靜態頁:

//這是我們要打開的窗口,先隱藏
<div id="dialog-form-record" >
 <div id="Content_record">
 
 </div>
 </div>

JS定義底部按鈕:

 var arrButton = {
 "Release": {
 'text': '按鈕名稱',
 'priority': 'secondary',
 'class': 'btn btn-success',
 'id':'',
 'click':點擊事件
 },
 "Cancel": {
 'text': 'Cancel', //取消按鈕
 'priority': 'secondary',
 "id":'xxx',
 'click': function () {
 dialogRecord.dialog( "close" );

 }
 }
 };
 //定義寬高
 dialogRecord = $( "#dialog-form-record" ).dialog({
 autoOpen: false,
 height: 800,
 width: 1400,
 modal: true,
 buttons:arrButton,
 close: function() {
 $( "#Content_record" ).html("");
 dialogRecord.dialog( "close" );
 }
 });

JS打開窗口:

//定義標題和窗口大小
 $( "#dialog-form-record" ).dialog( "option", "title", "Preview Html" );

 $( "#dialog-form-record" ).dialog({
 modal: true,
 height: 800,
 width: 1400
 });

2、使用iframe引入剛才生成的靜態文件

(1)js引入iframe

//加個時間戳,防止緩存
for (i in response.)
 iframe += "<iframe class='news_iframe' id='iframe"+ i +"' src='"+ response.url.url +"/news/html/"+ response.zh[i] + "?timestamp= " + new Date().getTime() + "'></iframe>";
  
 } 
//把iframe寫入到html

$( "#en_content" ).html(iframe);

3、注意:

(1)iframe的src里面不能有空格之類的東西
(2)iframe去除邊框
(3)iframe加載速度慢,所以加個onload事件,當iframe加載完之后再顯示

var iframe = document.getElementById("iframe" + count);
 checkFinishedDownload(iframe);
 
function checkFinishedDownload(ifr) {
 if (ifr.attachEvent) {
 ifr.attachEvent("onload", function() {
 //iframe加載完成后你需要進行的操作
 });
 } else {
 ifr.onload = function() {
 //iframe加載完成后你需要進行的操作
 
 };
 }
}

php是什么語言

php,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,現在被很多的網站編程人員廣泛的運用。

關于使用php怎么生成靜態頁面就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

家居| 合江县| 苏尼特右旗| 双辽市| 台南市| 梧州市| 洱源县| 灵宝市| 康马县| 蕲春县| 武汉市| 永平县| 门头沟区| 青田县| 江达县| 绍兴县| 五华县| 阿合奇县| 当阳市| 井冈山市| 龙里县| 大连市| 霍邱县| 建宁县| 商河县| 仙游县| 克东县| 天气| 波密县| 中山市| 雷山县| 年辖:市辖区| 云梦县| 库伦旗| 垫江县| 天长市| 汨罗市| 新津县| 唐海县| 张家川| 从江县|