- 浏览: 177928 次
- 性别:
- 来自: 西安
最新评论
-
ze00ro:
great job, thanks very much
codeigniter日志类库 -
cq361106306:
引用[*][img][/img]
给kindeditor增加代码高亮功能【续一】 -
亚飞正传:
嗯,不错。不过,博主可以扩展下,增加今天比昨天的,这周比上周之 ...
codeigniter年、月、周、日排行类库 -
wxhlwd:
为什么load之后,页面报错说是没有找到simple_html ...
simple_html_dom 采集网页 -
baiyuxiong:
这个肯定可以的,你可以自己改一下。这个类库不难。langziy ...
Codeigniter无限分类类库
文章列表
把上面的两个代码放在同一个目录下,然后访问看看,目录下面是不是多了一个HTML文件。这就是产生的静态页面,你可以把这个文件打开看看并和template.php比较一下。
总体原理很简单,看完注释就能明白个大概,不过这只是个基本的演示。如果是真正要使用到系统中,还需要完善以下问题。
1、缓存的静态文件的过期及更新问题,上面的例子里,只要有缓存存在,就直接去读。就算变量$var的值改变了,也不会更新内容。所以实际使用时,在变量或模板改变时,更新缓存的静态文件,或者通过一些方式设置缓存有效期,过期时重新生成。
2、功能分解,上面的例子,两个页面就演示了整个流程,为了便于在项目中使用,我们需要对上面页 ...
看了一些开源系统的,简单的总结一下php的模板及静态原理。
先贴代码,再做解释。
index.php
<?php
//如果已存在静态页面,直接读取并显示
if(file_exists('index.html'))
{
echo file_get_contents('index.html');
}
else
{
//这里把需要的变量都附好值
$var = "Hello,World.";
//开启输出缓存
ob_start();
//这里调用模板,模板里嵌入一些PHP标签,用来显示变量的值
require_once('templa ...
ajaxfileupload是一个jquery的文件上传插件,可以利用ajax无刷新上传文件到服务器。其实现原理为:利用js动态创建一个表单,并提交。但默认情况下,该插件只能上传一个文件,且不能携带其它参数。有时候,我想给在上传文件的同时,还带一个参数,用来表示将文件上传到哪个目录下。下面的修改就可以实现这个功能。
第一步:调用插件的地方,加上参数:
$("#loading")
.ajaxStart(function(){
$(this).show();
})
.ajaxComplete(function(){
$(this).h ...
代码:
function httpPost($url, $data,$cookieStr='')
{
$url_array = parse_url($url);
$host = $url_array['host'];
$port = isset($url_array['port'])?($url_array['port']):80;
if(!($conn = fsockopen($host,$port,$errno, $errstr, 30)))
{
return false;
}
$header = "POST &q ...
1、首先分析一下带cookie的HTTP收发协议的格式。
服务器发cookie给客户端时:
HTTP/1.1 200 OK
Date: Sat, 16 Oct 2010 01:11:21 GMT
Server: Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8o PHP/5.2.12
X-Powered-By: PHP/5.2.12
Set-Cookie: username=admin
Set-Cookie: password=admin; expires=Sat, 16-Oct-2010 02:22:21 GMT
Content ...
整了一段时间的web service,记录并分享一下我的收获.
假设一个需求,我们要验证用户登录,用户在客户端(一般为浏览器)填写用户名和密码,经浏览器组成一个HTTP请求,发送到服务器。浏览器发送的包格式可能类似这样:
HTTP/1.1 200 OK
Date: Sat, 23 May 2009 11:43:24 GMT
Server: Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8o PHP/5.2.12
X-Powered-By: PHP/5.2.12
Content-Length: 315
Keep-Alive: tim ...
文章转自:http://www.baiyuxiong.com/?p=426
2、显示页面引用SyntaxHighlighter插件。
<script type="text/javascript">
$(document).ready(function(){
//$.SyntaxHighlighter('./SyntaxHighlighter/');
var option={
dir:'./SyntaxHighlighter/',
name:'code',
showControls:true
};
$.SyntaxHighl ...
文章转自:http://www.baiyuxiong.com/?p=426
实现原理:
利用一个jquery的代码高亮插件:SyntaxHighlighter
当HTML代码中有类似:
<pre name="code" class="vb">
</pre>
的代码的时,SyntaxHighlighter会自动将这个标签内的代码高亮。
实现方法:
1、给kindeditor加一个插件,在编辑栏上加一个图标,当点击这个图标时,内容部分会添加上这样的代码:
<pre name="code" cl ...
转自:http://www.baiyuxiong.com/?p=423
下面的代码可以在采集其它网站的数据时,取得JS里某个变量的值。针对下两种JS的写法,利用两个不同的正则先取到JS部分的代码,然后再在代码里取需要的变量。
<script>function test(){}</script>
<script type="text/javascript">function test(){}</script>
php代码:
<?php
$str = '<script>function tes ...
/**
* 显示缓存状态
*
* 显示缓存取值成功、失败的次数和所有的缓存分组及组下的数据
*
*/
function stats() {
echo "<p>";
echo "<strong>Cache Hits:</strong> {$this->cache_hits}<br />";
echo "<strong>Cache Misses:</strong> {$this->cache_misses}< ...
/**
* 取得存在的缓存数据
*
* 根据ID和分组搜索数据,如果数据存在,返回数据
*
* 失败时检查$non_existant_objects属性,如果缓存ID和分组在这个属性中存在,直接返回.
* 如果不存在,则cache_misses加1,并把ID和分组添加到$non_existant_objects中。
*
*
* @参数 int|string $id 标识缓存中的数据
* @参数 string $group 缓存所在的分组
* @返回值 bool|mixed 失败时返回false,成功时返回ID对应的数据
...
Wordpress的缓存类WP_Object_Cache在wp-includes/cache.php文件中。与一般的缓存类将数据缓存在文件中不同,WP将数据缓存在内存中,所以每次客户端请求,都要重新生成缓存,请求处理结束后,缓存就清空了。这样唯一的好处是,一次请求中,需要多次使用的数据,比如site_name,只需要去数据库中查询一次,以后直接读内存就可以了,速度比读数据库快,提高程序执行效率。
下面来分析WP_Object_Cache的实现
class WP_Object_Cache {
//所有的缓存数据都保存在这个变量里
var $cache = array ();
...
/**
* 删除组中特定缓存ID的数据
*
* 如果缓存ID不存在并且$force=false时,什么也不会发生,$force默认为false.
*
* 成功的时候$non_existant_objects中会保存该ID,表示这个缓存数据不存在.
*
* @参数 int|string $id 标识缓存中的数据
* @参数 string $group 缓存的分组
* @参数 bool $force Optional. 是否强制删除组中的缓存ID
* @返回值 bool 没有删除时返回false,删除成功时返回true.
*/
...
默认安装wp后,在wp-blog-header.php
最后加两句:
global $wp_object_cache;
$wp_object_cache->stats();
显示缓存的结果:
公司网络限制,代码太多了,文章没办法发布。下班了再贴上吧。
可以看到,wordpress把整个页面的数据都缓存在内存里了,包括用户设置,文章内容,文章分类,友情链接等。
http://www.hzynh.cn/html/wordpress-source-code-analysis-the_meta-function-and-get_post_meta-function.html
在这篇wordpress源代码分析里,我将介绍the_meta函数和 get_post_meta函数。
很多时候你除了wordpress默认的功能外,还有很多奇思妙想,但是又没有精力去修改代码,怎么办呢?在你编写帖子的时候会在edit下面看见 custom fields,就是自定义字段,你可以在这里很方便的增加你自己的新特性。
当你输入这些自定义字段的时候,这些字段会以名值对(ke ...