php静的キャッシュobローカルキャッシュ


作用:淘宝、京东トップページに适用してユーザー登录1、ユーザーが初めてトップページにアクセスする时、すべてのデータベースを検索してトップページに出力して、再度トップページを更新する时、キャッシュから地元のファイルに基づいて出力して、以上はphp静的キャッシュ2、jquery技术を运用してページロードイベントajax(get)の要求を设定して、ユーザーは初めてトップページにアクセスして、ログインしていない状態で、ナビゲーションエリアにログインボタンが保存され、htmlファイル(ページ)がローカルにキャッシュされました.3、ユーザーがログインに成功した場合、htmlファイルをローカルにキャッシュするのではなく、ajaxリクエストを再度トリガーしてローカルリフレッシュ機能を実現する.次に、k 780トップページを例に
k780.php

//               k780.html  
if(!is_file("k780.html")){ 
    ob_start();//        
 ?>
    
  <div class="top_uinfo" id='user'>

  div>
   
                       
    $info = ob_get_contents(); //             $info   
    $file = fopen('k780.html', 'w');  //    k780.html  
    fwrite($file, $info);    //     k780.html    
    fclose($file);  //    k780.html 
 }else{
    echo "cache:";
    echo file_get_contents("k780.html");
 } 

phpページ出力時にajax(get)ページロードイベントを開きます
<script type="text/javascript">
    $(document).ready(function(){
        $.get("user.php",function(data){
            $("#user").html(data);

        })
    })
script>

user.php
 
header("content-type:text/html;charset=utf-8");
if(isset($_COOKIE['name'])){
?>
              <a style="color:#0077FF;" href="http://www.k780.com/?q=mgr"> echo $_COOKIE["name"]; ?>a>
<a href="exit.php">    a> | <a href="http://www.k780.com/?q=pay&type=recharge"><font color="red">  font>a>



}else{
?>
    <a href="login.php">  a>
   } ?>

login.phpユーザーログインhtmlページ
<meta charset="UTF-8">
<form method="post" action="logindo.php">
<table>
    <tr>
        <td><input type="text" value="" name="name" />td>
        <td>   :<input type="password" value="" name="pwd" />td>
        <td><input type="submit" value="  ">td>
    tr>
table>
form>

ユーザ情報マッチングに成功すると、Cookieにユーザ名を格納と同時にk 780に遷移する.php logindo.php

//   login.php    POST 
$name = $_POST['name'];
$pwd = $_POST['pwd'];
//dsn     
$dsn = "mysql:host=localhost;dbname=user";
$db = new PDO($dsn, 'root', 'root');
//     ,                    
$rs = $db->query("SELECT * FROM user where name='$name' and pwd='$pwd'");
while($row = $rs->fetch()){
if($row){
    setcookie('name',$row['name']); //     Cookie
    header("Location: test_k780.php"); 
  }else{
    echo 0;
  }
}

ユーザは終了し、クッキーをクリアすると同時にk 780にジャンプする.php exit.php
setcookie("name", "");
header("Location: test_k780.php");