• 7.20php文件缓存


    <?php
        $filename = "./jingtai.html";//定义一个变量来存放一个缓存文件的路径(相对于当前页面的路径)
        //定义缓存有效期
        $cachetime = 10;
    
        //判断缓存文件是否存在                                   
        var_dump(filemtime($filename));
                                    //filemtime($filename)不变,time()一直变,filemtime($filename)+10肯定会有小于time()的时候。
        if(!file_exists($filename)||filemtime($filename)+$cachetime<time()){//filemtime($filename)获取文件修改时间,加上定义的缓存时间小于当前时间
             //开启内存缓存                                  //filemtime()该文件上次修改内容
                                   //filemtime($filename)第一次出现等于当前时间time();每过10秒走一次函数,filemtime($filename)的值就会改变
            var_dump(time());
            ob_start();
    ?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>无标题文档</title>
        </head>
        <body>
            <table width="100%" border="1" cellpadding="0" cellspacing="0" >
                <tr>
                    <td>学号</td>
                    <td>姓名</td>
                    <td>性别</td>
                    <td>生日</td>
                    <td>班级</td>
                </tr>         
    <?php
                //造连接对象
                $db = new MySQLi("localhost","root","","ceshi");
                //写SQL语句
                $sql = "select * from student";
                //执行
                $result = $db->query($sql);
                while($attr = $result->fetch_row()){
                    echo "<tr>
                        <td>{$attr[0]}</td>
                        <td>{$attr[1]}</td>
                        <td>{$attr[2]}</td>
                        <td>{$attr[3]}</td>
                        <td>{$attr[4]}</td>
                        </tr>";
                }
    ?>
            </table> 
        </body>
        </html>
    <?php
            //从内存缓存中获取页面代码
            $content = ob_get_contents();
            //将获取到的内容存放到缓存文件
            file_put_contents($filename,$content);
            //清掉内存缓存
            ob_flush();
            echo "#####";  //测试是否调用了缓存文件,缓存文件不输出这句话
        }
        else{
             //var_dump(filemtime($filename)); var_dump(time());
             include($filename);  //如果存在,调用缓存文件
        }
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>无标题文档</title>
        </head>
        <body>
            <table width="100%" border="1" cellpadding="0" cellspacing="0" >
                <tr>
                    <td>学号</td>
                    <td>姓名</td>
                    <td>性别</td>
                    <td>生日</td>
                    <td>班级</td>
                </tr>         
    <tr>
                        <td>1</td>
                        <td>101</td>
                        <td>王超</td>
                        <td>男</td>
                        <td>2000-02-12 00:00:00</td>
                        </tr><tr>
                        <td>2</td>
                        <td>103</td>
                        <td>陆君</td>
                        <td>男</td>
                        <td>1974-06-03 00:00:00</td>
                        </tr><tr>
                        <td>3</td>
                        <td>105</td>
                        <td>匡明</td>
                        <td>男</td>
                        <td>1975-10-02 00:00:00</td>
                        </tr><tr>
                        <td>4</td>
                        <td>107</td>
                        <td>王丽</td>
                        <td>女</td>
                        <td>1976-01-23 00:00:00</td>
                        </tr><tr>
                        <td>5</td>
                        <td>108</td>
                        <td>曾华</td>
                        <td>男</td>
                        <td>1977-09-01 00:00:00</td>
                        </tr><tr>
                        <td>6</td>
                        <td>109</td>
                        <td>王芳</td>
                        <td>女</td>
                        <td>1975-02-10 00:00:00</td>
                        </tr><tr>
                        <td>7</td>
                        <td>110</td>
                        <td>刘备</td>
                        <td>男</td>
                        <td>0000-00-00 00:00:00</td>
                        </tr><tr>
                        <td>8</td>
                        <td>111</td>
                        <td>孙权1</td>
                        <td>男</td>
                        <td>0000-00-00 00:00:00</td>
                        </tr><tr>
                        <td>9</td>
                        <td>112</td>
                        <td>曹操</td>
                        <td>男</td>
                        <td>0000-00-00 00:00:00</td>
                        </tr><tr>
                        <td>10</td>
                        <td>113</td>
                        <td>刘邦</td>
                        <td>男</td>
                        <td>0000-00-00 00:00:00</td>
                        </tr><tr>
                        <td>11</td>
                        <td>114</td>
                        <td>周瑜</td>
                        <td>男</td>
                        <td>0000-00-00 00:00:00</td>
                        </tr><tr>
                        <td>17</td>
                        <td>098</td>
                        <td>zhangsan32</td>
                        <td>男</td>
                        <td>0000-00-00 00:00:00</td>
                        </tr>        </table> 
        </body>
        </html>
  • 相关阅读:
    根据当前系统时钟或签名文件的时间戳记核对时,所需要的凭证不在有效期内。
    自定义生成二维码
    MyBatis 开发学习记录
    SPRINGCLOUD 开发学习记录
    DOCKER 开发学习记录
    Spring in action学习笔记
    23种设计模式JAVA 实现目录总结
    访问者模式
    迭代器模式
    简单工厂模式
  • 原文地址:https://www.cnblogs.com/sunhao1987/p/9343725.html
Copyright © 2020-2023  润新知