本人因?yàn)橐胱约簩?xiě)個(gè)小說(shuō)網(wǎng)站練練手,在其中遇到的一些問(wèn)題,將其解決方法總結(jié)出來(lái),例如:

1:小說(shuō)網(wǎng)站存儲(chǔ)了大量的小說(shuō),每個(gè)小說(shuō)主頁(yè)都很相似,url不同,不是使用的history屬性改寫(xiě)的,所以如果人工想寫(xiě)的話,那工作量就很大

如下圖,用起點(diǎn)小說(shuō)網(wǎng)來(lái)參考,放上我最愛(ài)的兩本書(shū)

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

在這里我們將其url都當(dāng)成html文件,不考慮url重寫(xiě)問(wèn)題

所以,今天我就將我的解決方案放入其中,算是批量生成html文件

先寫(xiě)個(gè)數(shù)據(jù)提交網(wǎng)頁(yè):文件名為other.html

 

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 1 <!DOCTYPE html> 2 <html> 3     <head> 4         <meta charset="UTF-8"> 5         <title></title> 6     </head> 7     <body> 8         <!--輸入你想讓顯示的內(nèi)容--> 9         <input type="text" name="name" id="name" value="" />10         <!--提交ajax-->11         <button id="btnn">提交</button>12         <!--提交成功后,則會(huì)通過(guò)數(shù)據(jù)庫(kù)連接獲取連接地址-->13         <a href="" target="_blank"></a>14         <!--js-->15         <script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>16         <script type="text/javascript">17             $("#btnn").on('click',function(){18                 var name = $("#name").val();19                 //jq 的ajax請(qǐng)求20                 $.ajax({21                     type:"post",22                     url:"//127.0.0.1:9090/Project01/php/creathtml.php",23                     async:true,24                     data:{"name":name},25                     dataType:"JSON",26                     success:function(r){27                         console.log(r.token);28                         var hr="http://127.0.0.1:9090/Project01/php/ceshi/"+r.token+".html";29                         $('a').attr('href',hr);//改變a鏈接地址30                         $('a').text(r.token);//改變a鏈接訪問(wèn)跳轉(zhuǎn)31                     }32                 });33             })34         </script>35     </body>36 </html>

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

接下來(lái)為php處理接受數(shù)據(jù):文件名為creathtml.php

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 1 <?php 2 //引入mysql連接配置 3 require './config.php'; 4 //接受other.html ajax請(qǐng)求過(guò)來(lái)的數(shù)據(jù) 5 $name = $_POST['name']; //ajax的data:{"name":name} 6  7 //判斷$name是否存在 8 if (isset($name)) { 9     //mysql查詢語(yǔ)句10     $query_select = 'SELECT t1.token FROM ceshi t1 WHERE content="' . $name . '"';11     //運(yùn)行mysql語(yǔ)句,返回MySQL查詢結(jié)果集,是個(gè)句柄12     $result_select = @mysql_query($query_select) or die($error);13     //將mysql查詢結(jié)果集轉(zhuǎn)為數(shù)組14     $row_select = mysql_fetch_array($result_select, MYSQL_ASSOC);15     //判斷是否存在,存在則結(jié)束,本文為了方便,不寫(xiě)重復(fù)結(jié)果的返回處理16     if ($row_select) {17         echo "if(row)";18     } else {//輸入的不存在19         //將其內(nèi)容插入進(jìn)去,并且生成個(gè)唯一標(biāo)識(shí)符token,并對(duì)uuid處理 使其從 1600d45d-42e1-11e7-8106-1C39472981ff 轉(zhuǎn)為 1600D45D42E111E781061C39472981FF20         $query_insert = 'INSERT INTO ceshi VALUES(UPPER(REPLACE(UUID(),"-","")),"' . $name . '")';21         22         $result_insert = @mysql_query($query_insert) or die($error);23         //查詢出其內(nèi)容對(duì)應(yīng)的token24         $query_token = 'SELECT t1.token FROM ceshi t1 WHERE content="' . $name . '"';25 26         $result_token = @mysql_query($query_token) or die($error);27 28         $row_token = mysql_fetch_array($result_token, MYSQL_ASSOC);29         //將其token值提取處理30         $token = $row_token[token];31         //在本程序文件下,將其創(chuàng)建的目錄寫(xiě)成字符串32         $path = "ceshi/";33         //判斷目錄是否存在34         if (is_dir($path)) {//目錄存在,則直接復(fù)制并且重命名文件35             36             //找到模板文件37             $old = "win.html";38             //復(fù)制的新文件寫(xiě)成一個(gè)字符串39             $new = $path . $token . '.html';40             //將其復(fù)制到上面創(chuàng)建的目錄中,并且重命名為token41             copy($old, $new);42             //token的數(shù)組轉(zhuǎn)為json數(shù)據(jù)返回 ajax請(qǐng)求的為dataType:"JSON"43             echo json_encode($row_token, JSON_UNESCAPED_UNICODE);44 45         } else {46             //目錄不存在則創(chuàng)建47             $res = mkdir($path);48             if ($res) {49                 50                 $old = "win.html";51                 $new = $path . $token . '.html';52 53                 copy($old, $new);54 55                 echo json_encode($row_token, JSON_UNESCAPED_UNICODE);56             } else {57                 echo "目錄 $path 創(chuàng)建失敗";58             }59         }60 61     }62 } else {63     header('Location: http://127.0.0.1:9090/Project01/php/other.html');64 }65 ?>

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 

接下來(lái)寫(xiě)模板文件:文件名為win.html

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 1 <!DOCTYPE html> 2 <html> 3     <head> 4         <meta charset="UTF-8"> 5         <title></title> 6     </head> 7     <body> 8         <h1 class="h1"></h1> 9         10         <script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>11         <script type="text/javascript">12             $(document).ready(function(){13                 /*14                  * 獲取url的信息http://127.0.0.1:9090/Project01/php/win.html將其中的win獲取出來(lái)15                  * 在復(fù)制的html中是win你輸入的內(nèi)容的token值,16                  * */17                 var strUrl=window.location.href;18                 var arrUrl=strUrl.split("html");19                 var strPage=arrUrl[0];20                 var last=strPage.split("/");21                 var filenameadd=last[last.length-1];22                 var filename=filenameadd.substring(0,filenameadd.length-1);23                 24                 //通過(guò)獲取到的值,進(jìn)行數(shù)據(jù)查詢25                 $.ajax({26                     type:"post",27                     url:"//127.0.0.1:9090/Project01/php/win.php",28                     async:true,29                     data:{"content":filename},30                     dataType:"JSON",31                     success:function(r){32                         var h1=$(".h1");33                         h1.text(r.content); //修改文本內(nèi)容34                         $(document).attr("title",r.content); //修改title內(nèi)容35                     }36                 });37             })38         </script>39     </body>40 </html>

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

接下來(lái)了便是復(fù)制成功后頁(yè)面請(qǐng)求提交數(shù)據(jù):文件名為:win.php

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 1 <?php 2 /* 3  * 一些注釋在creathtml.php文件中已寫(xiě) 4  * */ 5 require './config.php'; 6  7 $win=$_POST['content']; 8  9 if(isset($win)){10     11     $query_content = 'SELECT t1.content FROM ceshi t1 WHERE token="'.$win.'"';12     13     $result_content = @mysql_query($query_content) or die($error);14     15     $row_content = mysql_fetch_array($result_content, MYSQL_ASSOC);16     //將其請(qǐng)求的內(nèi)容返回17     echo json_encode($row_content,JSON_UNESCAPED_UNICODE);18     19 }else{20     header('Location: http://127.0.0.1:9090/Project01/php/other.html');21 }22 ?>

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

下面是測(cè)試截圖:

一:未開(kāi)始前

MySQL

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 

文件目錄中:

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

二:使用開(kāi)始

網(wǎng)頁(yè)截圖:

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

輸入內(nèi)容

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

點(diǎn)擊提交

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

點(diǎn)擊鏈接

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

mysql截圖:

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

文件目錄截圖

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

 

至此傳入數(shù)據(jù),生成對(duì)應(yīng)的html文件已成功,想要內(nèi)容更好點(diǎn),再添加點(diǎn)內(nèi)容即可

注:本文為博主原創(chuàng),允許所有人轉(zhuǎn)載,但是請(qǐng)注明原文檔出處

http://www.cnblogs.com/dark-portal/p/7027292.html