>  기사  >  백엔드 개발  >  어리석은 php+mysql 의사 정적(실제 HTML 페이지)

어리석은 php+mysql 의사 정적(실제 HTML 페이지)

不言
不言원래의
2018-04-19 10:22:261828검색

이 기사에서는 특정 참조 값을 갖는 바보 같은 php+mysql pseudo-static(실제 HTML 페이지)을 소개합니다. 이제 필요한 친구들이 참조할 수 있습니다.

모두가 pseudo-static에 대해 알아야 합니다.
예를 들어, PHP 페이지에서 생성된 페이지는 xxx.php?id=1입니다.
SEO 및 Baidu와 같은 검색 엔진의 쉬운 크롤링을 위해, 높은 동시성 중에 서버 리소스가 점유되는 것을 방지하기 위해
xxx.php를 넣어야 합니다. ?id= 1페이지에 대한 링크는 xxx_1.html과 같은 유사한 형식으로 표시됩니다. 어쨌든 접미사는 ​​.html입니다.

이 내용은 제가 직접 다루지는 않았지만 간략하게 구현해봤습니다.

1 p.php가 출력을 순회하면 데이터베이스 url 필드가 비어 있으면 file_get_contents가 시작되어 전체 페이지의 html 코드를 얻은 다음 해당 코드가 LKY_$id라는 html 파일에 기록됩니다. .html, 여기서 $ id는 현재 페이지의 ID입니다. 현재 페이지 ID가 1이면 생성된 파일 이름은 LKY_1.html이고 파일 이름은 데이터베이스

<?php
//连接数据库
$con = mysql_connect("localhost","root","root");
//选择数据库
mysql_select_db("test", $con);
//查询数据库
$result = mysql_query("SELECT * FROM list");
//遍历输出数据库
while($row = mysql_fetch_array($result))
  {
      $url = $row["url"];
      $id = $row["id"];
      if(empty($url)){
          echo "<a href=&#39;p.php?id=$id&#39;/>$row[title]</a><br/>";
      }else{
          echo "<a href=&#39;http://localhost/20180417/$url&#39;/>$row[title]</a><br/>";
      }
  }
mysql_close($con);
?>

의 url 필드로 업데이트됩니다. 사용자가 xxx.p.php?id =1에 액세스하면 데이터베이스가 쿼리됩니다. url 필드가 비어 있으면 get_html을 사용하여 전체 페이지의 html을 가져옵니다. php


<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
//连接数据库
$con = mysql_connect("localhost","root","root");
//选择数据库
mysql_select_db("test", $con);
//获得id
$id =$_GET["id"];
//查询数据库
$result = mysql_query("SELECT * FROM list where id =".$id);
//遍历输出数据库
while($row = mysql_fetch_array($result))
  {
      $url = $row["url"];
      if(empty($url)){
          $get_html = "http://localhost/20180417/get_html.php?id=$id";
          $html_utl = "LKY_$id.html";
        $con_html = file_get_contents($get_html);
        $html = fopen($html_utl, "w");
        fwrite($html, $con_html);
        fclose($html);
        echo $row["zhengwen"];
        mysql_query("UPDATE list SET url = &#39;$html_utl&#39; WHERE id = &#39;$id&#39;");
      }else{
          echo $row["zhengwen"];
      }
  }
mysql_close($con);
?>
</body>
</html>

이후 xxx.p.php?id=1에 접속하여 url 필드가 비어 있지 않다고 판단되면, html 파일이 생성되어 서버에서 지정한 디렉토리에 저장됩니다. 그런 다음 페이지 데이터를 직접 출력하거나 LKY_1.html



으로 이동합니다.

그런 다음 홈페이지 목록에서 해당 판단을 내려 URL이 비어 있는지 확인합니다. 비어 있으면 p.php?id=1의 하이퍼링크가 출력되고, 그렇지 않으면 URL 필드의 html 파일이 출력됩니다. 데이터베이스 이름에서 가져온 다음 LKY_1.html


을 출력합니다. 제가 말하고 싶은 것은 이것이 실제로 html 파일을 생성한다는 것입니다!



위 내용은 어리석은 php+mysql 의사 정적(실제 HTML 페이지)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.