本人因为要想自己写个小说网站练练手,在其中遇到的一些问题,将其解决方法总结出来,例如:

1:小说网站存储了大量的小说,每个小说主页都很相似,url不同,不是使用的history属性改写的,所以如果人工想写的话,那工作量就很大

如下图,用起点小说网来参考,放上我最爱的两本书

在这里我们将其url都当成html文件,不考虑url重写问题

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

先写个数据提交网页:文件名为other.html

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <!--输入你想让显示的内容-->
  9. <input type="text" name="name" id="name" value="" />
  10. <!--提交ajax-->
  11. <button id="btnn">提交</button>
  12. <!--提交成功后,则会通过数据库连接获取连接地址-->
  13. <a href="" target="_blank"></a>
  14. <!--js-->
  15. <script src="//115.159.30.160/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请求
  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链接访问跳转
  31. }
  32. });
  33. })
  34. </script>
  35. </body>
  36. </html>

接下来为php处理接受数据:文件名为creathtml.php

  1. <?php
  2. //引入mysql连接配置
  3. require './config.php';
  4. //接受other.html ajax请求过来的数据
  5. $name = $_POST['name']; //ajax的data:{"name":name}
  6.  
  7. //判断$name是否存在
  8. if (isset($name)) {
  9. //mysql查询语句
  10. $query_select = 'SELECT t1.token FROM ceshi t1 WHERE content="' . $name . '"';
  11. //运行mysql语句,返回MySQL查询结果集,是个句柄
  12. $result_select = @mysql_query($query_select) or die($error);
  13. //将mysql查询结果集转为数组
  14. $row_select = mysql_fetch_array($result_select, MYSQL_ASSOC);
  15. //判断是否存在,存在则结束,本文为了方便,不写重复结果的返回处理
  16. if ($row_select) {
  17. echo "if(row)";
  18. } else {//输入的不存在
  19. //将其内容插入进去,并且生成个唯一标识符token,并对uuid处理 使其从 1600d45d-42e1-11e7-8106-1C39472981ff 转为 1600D45D42E111E781061C39472981FF
  20. $query_insert = 'INSERT INTO ceshi VALUES(UPPER(REPLACE(UUID(),"-","")),"' . $name . '")';
  21.  
  22. $result_insert = @mysql_query($query_insert) or die($error);
  23. //查询出其内容对应的token
  24. $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. //在本程序文件下,将其创建的目录写成字符串
  32. $path = "ceshi/";
  33. //判断目录是否存在
  34. if (is_dir($path)) {//目录存在,则直接复制并且重命名文件
  35.  
  36. //找到模板文件
  37. $old = "win.html";
  38. //复制的新文件写成一个字符串
  39. $new = $path . $token . '.html';
  40. //将其复制到上面创建的目录中,并且重命名为token
  41. copy($old, $new);
  42. //token的数组转为json数据返回 ajax请求的为dataType:"JSON"
  43. echo json_encode($row_token, JSON_UNESCAPED_UNICODE);
  44.  
  45. } else {
  46. //目录不存在则创建
  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 创建失败";
  58. }
  59. }
  60.  
  61. }
  62. } else {
  63. header('Location: http://127.0.0.1:9090/Project01/php/other.html');
  64. }
  65. ?>

接下来写模板文件:文件名为win.html

  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="//115.159.30.160/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获取出来
  15. * 在复制的html中是win你输入的内容的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. //通过获取到的值,进行数据查询
  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); //修改文本内容
  34. $(document).attr("title",r.content); //修改title内容
  35. }
  36. });
  37. })
  38. </script>
  39. </body>
  40. </html>

接下来了便是复制成功后页面请求提交数据:文件名为:win.php

  1. <?php
  2. /*
  3. * 一些注释在creathtml.php文件中已写
  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. //将其请求的内容返回
  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. ?>

下面是测试截图:

一:未开始前

MySQL

文件目录中:

二:使用开始

网页截图:

输入内容

点击提交

点击链接

mysql截图:

文件目录截图

至此传入数据,生成对应的html文件已成功,想要内容更好点,再添加点内容即可

注:本文为博主原创,允许所有人转载,但是请注明原文档出处

[原创] 利用前端+php批量生成html文件,传入新文本,输出新的html文件的更多相关文章

  1. 如何利用Excel快速批量生成想要的代码

    如何利用Excel快速批量生成想要的代码 使用场景 在HTML DOM Video 对象这个页面 我想要将所有的中文描述和对应的属性(共32个属性)打印出来--console.log(descript ...

  2. 用备份控制文件做不完全恢复下的完全恢复(全备<老>--备份控制文件<次新>--删除表空间andy--日志文件<新>)

    为什么会使用备份的控制文件? 实际工作中主要有两种情况:第一种:当前控制文件全部损坏,而数据文件备份,控制文件备份及当前日志处于不同SCN版本,它们之间又增加过表空间(数据文件).第二种:当前控制文件 ...

  3. FluentData-新型轻量级ORM 利用T4模板 批量生成多文件 实体和业务逻辑 代码

    FluentData,它是一个轻量级框架,关注性能和易用性. 下载地址:FlunenData.Model 利用T4模板,[MultipleOutputHelper.ttinclude]批量生成多文件 ...

  4. 利用Resgen.exe 批量生成resources文件

    Resgen.exe(资源文件生成器)  您可以直接如图操作 转换时在 文本中先写好要转换的文件然后 全选 复制到控制台中 Filename.resx 要转换的文件 ResName1.resource ...

  5. 利用strut2标签自动生成form前端验证代码

    利用strut2标签自动生成form前端验证代码,使用到的技术有1.struts2标签,如<s:form> <s:textfieled>2.struts2读取*Validati ...

  6. C# 利用WORD模板和标签(bookmark) 批量生成WORD

    前言: 由于对C#操作WORD不熟悉,也就留下这么一篇水文,别吐糟...=_=||| 利用Microsoft.Office.Interop.Word (2003版也就11版)——因为部分客户端还是用O ...

  7. 脚本工具(获取某个文件夹下的所有图片属性批量生成css样式)

    问题描述: 由于有一次工作原因,就是将某个文件夹下的所有图片,通过CSS描述他们的属性,用的时候就可以直接引用.但是我觉得那个文件夹下的图片太多,而且CSS文件的格式又有一定的规律,所有想通过脚本来生 ...

  8. php 批量生成html、txt文件

    首先建立一个conn.php的文件用来链接数据库 <?php     $link = mysql_connect("mysql_host" , "mysql_use ...

  9. 批量生成sqlldr文件,高速卸载数据

    SQL*Loader 是用于将外部数据进行批量高速加载的数据库的最高效工具,可用于将多种平面格式文件加载到Oracle数据库.SQL*Loader支持传统路径模式以及直接路径这两种加载模式.关于SQL ...

随机推荐

  1. C#中在比较自定义对象的时候要重写Equals方法

    using System;using System.Collections.Generic;using System.Text; namespace Equal{    using System; c ...

  2. Java爬虫(一)利用GET和POST发送请求,获取服务器返回信息

    本人所使用软件 eclipse fiddle UC浏览器 分析请求信息 以知乎(https://www.zhihu.com)为例,模拟登陆请求,获取登陆后首页,首先就是分析请求信息. 用UC浏览器F1 ...

  3. 568. Maximum Vacation Days

    Problem statement:  LeetCode wants to give one of its best employees the option to travel among N ci ...

  4. jenkins 用户名密码忘记

    进入c盘--用户 在本地用户的目录下找到.jenkins目录,里面有一个config.xml; 打开后,删除其中的 " <useSecurity>true</useSecu ...

  5. 转载: RAID详解[RAID0/RAID1/RAID10/RAID5]

    一.RAID定义 RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁 ...

  6. 基于require+knockout的webapp结构设计

    *********************************************************************************** 一.项目结构: Webapp - ...

  7. Hive-1.2.1与HBase-1.1.2的整合

    这里的整合是指,将HBase作为存储数据的库,由Hive作为连接桥梁 修改 Hive hive-site.xml 增加<property> <name>hbase.zookee ...

  8. Redis学习-LUA脚本

    最近在做K线的项目中,需要计算商品的分时数据.为了保证多台机器对同一商品的计算的有序性,所以在Redis中进行计算,同时为了保证在分时数据计算过程的原子性所以使用了LUA脚本,Redis内置了对LUA ...

  9. 在Adapter中如何关闭当前Activity

    很多时候我们需要在点击adapter条目的时候关闭当前界面,把所点击条目的信息带到前一个界面,同时关闭当前界面. 这个 时候就需要在adapter对某一个点击事件做处理. 代码如下: holder.l ...

  10. Natas Wargame Level 16 Writeup(Content-based Blind SQL Injection)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqwAAADhCAYAAAANm+erAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF