互联网快速普及的现在社会,越来越多的人会在一个web应用上进行交流,因而导致服务器与数据库访问压力与日俱增,这边就需要进行一些优化,譬如增加缓存、二级缓存、动态网页静态化以及其他的高端技术。 此处作者是使用生成静态文件的方法: 复制代码 代码如下:/** * @desc 生成静态文件时使用 * @todo htmlcache * @param $root string html文件存放路径 * @param $rule string html文件命名规则 * @param $url string 需要生成HTM...
Create TABLE `bihtml` (`id` int(11) NOT NULL auto_increment,`szdtitle` varchar(16) NOT NULL,`szdcontent` text NOT NULL,PRIMARY KEY (`id`)) TYPE获取当前的ID,并导入模板:<?phpob_start();$id=_POST[id]if(!isset($id)&is_integer($id)){@$db=new mysqli(localhost,root,admin,bihtml);$result=$db->fetch_one_array("select * from szd_bi where id=$id");if(!emptyempty($result)){$tmp->assign(array("Szdtitle",htmlsp...
PHP文件缓存主要用来减轻数据库服务器的压力,这里所说的PHP文件静态缓存是指静态化,直接生成HTML或XML等文本文件,有更新的时候重生成一次,适合于不太变化的页面。 1.静态文件缓存 2.Memcache、redis缓存静态缓存:用php把数据组装好,然后把数据写入文件里。staticcache.php<?php class File{private $_dir;//定义一个默认的路径const EXT = .txt;//定义一个文件名后缀的常量public function __construct(){$this->_dir = dirn...
为了减少客户端对服务端资源的请求,可以开启mod_expires.so模块 在apache%C5%E4%D6%C3/" target="_blank">apache配置文件中去掉这段 “#LoadModule expires_module modules/mod_expires.so ”前面的#号Httpd.conf配置代码如下 ExpiresActive on#缓存3天。ExpiresBytype text/css "access plus 3 daysExpiresByType application/x-javascript "access plus 3 days "ExpiresByType image/jpeg "access plus 3 days "Expiresbytype i...
介绍一个静态文件php生成类,在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP静态化的简单理解就是使网站生成页面以静态HTML的形式展现在访客面前,PHP静态化分纯静态化和伪静态化,两者的区别在于PHP生成静态页面的处理机制不同。第一步、首先下载我们本节课程所需要用到的一个静态文件php生成类库:http://www.gxlcms.com/xiazai/leiku/545第二步、下载完成之后找到我们需要的php类文件,解压...
文章详细介绍了php合并静态文件所需要的相关配置以及完整代码,以及使用说明,非常的详尽,这里推荐给有需要的小伙伴配置PHP.ini更改配置项(必须)auto_prepend_file = "C:\xampp\htdocs\auto_prepend_file.php"更改配置项(可选)allow_url_include = Onauto_prepend_file.php文件内容 代码如下:<?php /*** 引入static文件* @param {array|string} 相对路径* @param {string} 当前执行脚本所在的路径FILE**/ function import_sta...
文章详细介绍了php合并静态文件所需要的相关配置以及完整代码,以及使用说明,非常的详尽,这里推荐给有需要的小伙伴配置PHP.ini更改配置项(必须)auto_prepend_file = "C:\xampp\htdocs\auto_prepend_file.php"更改配置项(可选)allow_url_include = Onauto_prepend_file.php文件内容代码如下:<?php /*** 引入static文件* @param {array|string} 相对路径* @param {string} 当前执行脚本所在的路径FILE**/ function import_stat...
【问题现象】:php中生成html文件时head中的静态文件生成到body里面了,检查了一下发现有很多的uft8的php文件,其中有那么几个文件存在有BOM头的文件。【原因分析】:编码格式错误,使用了utf-8的bom头。【解决方案】:在根目录下新建一个bom.php文件,并拷贝以下代码进去,重启服务即可<?php if (isset($_GET[dir])) { //设置文件目录 $basedir = $_GET[dir]; } else {$basedir = .; }$auto = 1; checkdir($basedir);function che...
第一种:将php动态页面内容生成静态 代码如下:ob_start();#开启服务器缓存 include_once Index.php; $ctx=ob_get_contents();#获取缓存 ob_end_clean();#清空缓存 $fh=fopen("index.html","w+"); fwrite($fh,$ctx);#写入html,生成html fclose($fh); /* 1、Flush:刷新缓冲区的内容,输出。 函数格式:flush() 说明:这个函数经常使用,效率很高。 2、ob_start :打开输出缓冲区 函数格式:void ob_start(void) 说明:当缓冲区激活时...
有时一些静态文件(如图片)会由php输出,会发现请求都是200,静态文件每次都去服务器上请求太浪费资源了,这时如何让浏览器缓存图片呢?就需要我们在php中输出304了。 我们可以利用php中的 HTTP_IF_MODIFIED_SINCE 结合etag来干这事。Etag没有明确规定的格式,我们可以用文件修改时间的md5值,代码如下:private function _addEtag($file) {$last_modified_time = filemtime($file); $etag = md5_file($file);// always send heade...
Apache配置httpd.confDocumentRoot"C:/xampp/htdocs"Options Indexes FollowSymLinks Includes ExecCGIAllowOverrideAllRequireall granted #app虚拟网站目录配置开始DocumentRoot D:\git\yonglibao\app ServerName app.com Options Indexes FollowSymLinks Includes ExecCGIAllowOverrideAllRequireall granted #app虚拟网站目录配置结束修改C:\Windows\System32\drivers\etc目录下的hosts文件 添加:127.0.0.1 app.com添加...
有两种方案一、url(r^sitemap\.xml/$, TemplateView.as_view(template_name=sitemap.xml,c/xml)),urls.py中加入新的urlpattern,用TemplateView去展示二、 直接交给nginx来处理,在nginx的conf文件中加入要处理的static URL和路径location /sitemap.xml {alias /path/to/static/sitemap.xml; }第一种方案我没实践,应该也是ok的,我用的第二种方案参考:http://stackoverflow.com/questions/18424260/django-serving-robots-txt-...
ob_start();#开启服务器缓存include_once 'Index.php';$ctx=ob_get_contents();#获取缓存ob_end_clean();#清空缓存$fh=fopen("index.html","w+");fwrite($fh,$ctx);#写入html,生成htmlfclose($fh);?>方法2:php 静态文件生成类class CreateHtml{function mkdir( $prefix= 'article' ){$y = date('Y');$m = date('m');$d = date('d');$p=DIRECTORY_SEPARATOR;$filePath='article'.$p.$y.$p.$m.$p.$d;$a=explode($p,$filePath);fore...
<?php/** * @desc 生成静态文件时使用 * @todo htmlcache * @param $root string html文件存放路径 * @param $rule string html文件命名规则 * @param $url string 需要生成HTML文件的**页地址 * @return boole true/false */ public function setHtmlCache($root,$rule,$url){ //检测是否生成过静态文件 if (file_exists($root.$rule..html)){//已经存在静态文件 @unlink($root.$rule..html);//删除静态文件 return file_put_cont...
private function _addEtag($file) { $last_modified_time = filemtime($file); $etag = md5_file($file); // always send headers header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT"); header("Etag: $etag"); // exit if not modified if (@strtotime($_SERVER[HTTP_IF_MODIFIED_SINCE]) == $last_modified_time || @trim($_SERVER[HTTP_IF_NONE_MATCH]) == $etag) ...