存档

作者存档

MemCache内存缓存笔记

2013年9月10日 1 条评论

一、Memcache简介

Memcache(内存,缓存) :是一个高性能的分布式的内存对象缓存系统。通过在内存里维护一个巨大的HashTable。由Memcached来管理这个巨大的HashTable。

二、Memcache 与 Memcached的区别
Memcache是软件名称,M[……]

Read more

分类: PHP 标签: ,

抽离CodeIgniter的图像处理类

2013年8月22日 没有评论

本文适用环境:没有使用CodeIgniter框架,但是想引入一个功能还算完善的图像处理类

CodeIgniter 的图像处理类可以使你完成以下的操作

  • 调整图像大小
  • 创建缩略图
  • 图像裁剪
  • 图像旋转
  • 添加图像水印
  • 首先定义一个常量,和两个函数,用于兼容CodeIgni[……]

    Read more

    分类: PHP 标签: , ,

    基于jQuery+JSON的省市联动效果

    2013年8月15日 没有评论

    省市区联动下拉效果在WEB中应用非常广泛,尤其在一些会员信息系统、电商网站最为常见。开发者一般使用Ajax实现无刷新下拉联动。本文将讲述,利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果。

    HTML

  • 首先在head中载入jquery库和citysel[……]
  • Read more

    分类: JavaScript 标签: , ,

    豆瓣工作招聘JS彩带

    2013年8月14日 1 条评论

    进入豆瓣网,打开开发者工具,如firefox下的firebug,在Console就能看到信息:

    喜欢看豆瓣的代码,还是发现了什么bug?不如和我们一起为豆瓣添砖加瓦吧!
    http://jobs.douban.com/#position-zsqd

    js源码

    588070fe31c[……]

    Read more

    分类: JavaScript 标签:

    使用PHP opcodes看$php与”$php”的区别

    2013年7月23日 没有评论

    使用PHP opcodes看$php与”$php”的区别

    # 首先下载最新版vld扩展:
    wget http://pecl.php.net/get/vld-0.11.2.tgz
    tar zxvf vld-0.11.2.tgz
    cd vld-0.11.2/
    phpize5
    ./configure
    make
    sudo make install
    # Installing shared extensions:     /usr/lib/php5/20100525+lfs/

    修改cli的配置文件激活vld扩展
    /etc/php5/cli/php.ini
    添加一行
    extension=vld.so

    测试开始

    qiufe[......]

    Read more

    分类: PHP 标签: ,

    像注释HTML一样注释PHP代码

    2013年7月10日 没有评论

    我们的目标, 是要实现如下的语法(以php-5.4.17为基础)

    <?php
    echo "1.这里正常执行\n";
    <!--
    echo "像注释HTML一样注释PHP代码\n";
    echo "这行相当于在'/* */'体内\n";
    echo "不会被输出\n";
    -->                                                                                                                                              
    echo "2.这里正常执行\n";

    编辑Zend/zend_language_scanner.l

    // 这是PHP的多行注释源码
    <ST_IN_SCRIPTING>"/*"|"/**"{WHITESPACE} {
        int doc_com;
     
        if (yyleng > 2) {
            doc_com = 1;
            RESET_DOC_COMMENT();
        } else {
            doc_com = 0;
        }
     
        while (YYCURSOR < YYLIMIT) {
            if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
                break;
            }
        }
     
        if (YYCURSOR < YYLIMIT) {
            YYCURSOR++;
        } else {
            zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
        }
     
        yyleng = YYCURSOR - SCNG(yy_text);
        HANDLE_NEWLINES(yytext, yyleng);
     
        if (doc_com) {
            CG(doc_comment) = estrndup(yytext, yyleng);
            CG(doc_comment_len) = yyleng;
            return T_DOC_COMMENT;
        }
     
        return T_COMMENT;
    }

    在这基础上做[……]

    Read more

    分类: PHP源码 标签: ,

    快速设置PHP的开发目录

    2013年7月9日 1 条评论

    PHP的源码放在了git上边,任何人都可以重建他的工作环境。
    在项目开发时,我想能够在同一时间使用不同的PHP版本分支,如PHP5.3, PHP5.4,PHP5.5和PHP的稳定版本,我想快速地测试不同的PHP环境和配置运行的结果是怎么样的。如建立使用线程安全或调试模式打开或关闭。
    一个简单的方[……]

    Read more

    分类: PHP 标签:

    php使用过滤器filter_var轻松验证邮箱url和ip地址等

    2013年6月13日 没有评论

    以前使用php的时候还不知道有过滤器filter这玩意,那时候判断邮箱、url和ip地址格式是否符合都是用正则表达式。后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库过滤器filter来完成这些功能。
    对于filter_var这个函数,如果验证通过则会返回验证对象,否则返回false[……]

    Read more

    分类: PHP 标签: ,

    PHP游戏中的抽奖算法初探

    2013年5月23日 1 条评论

    本示例代码是一段经典的概率算法,$probability是一个预先设置的数组,假设数组为:array(10,20,30,40),
    开始是从1,100这个概率范围内筛选第一个数是否在他的出现概率范围之内,
    如果不在,则将概率空间,也就是k的值减去刚刚的那个数字的概率空间,在本例当中就是减去100[……]

    Read more

    分类: JavaScript, PHP 标签: ,

    Apache mod_headers模块实现文件缓存

    2013年5月10日 没有评论

    遇到有的主机商不支持mod_expires模块,那就就试试mod_headers模块吧。

    # 开启Apache headers模块
    sudo a2enmod headers
    # 关闭Apache headers模块
    sudo a2dismod headers

    编辑Web目录的.htaccess文件

    <IfModule mod_headers.c>
        # htm,html,txt类型的文件缓存一个小时
        <FilesMatch "\.(htm|html|txt)$">
            header set Cache-Control "max-age=3600"
        </FilesMatch>
        # css,js,swf类型的文件缓存一个月
        <FilesMatch "\.(css|js|swf)$">
            header set Cache-Control "max-age=2678400"
        </FilesMatch>
        # ico,gif,jpg,jpeg,png,flv,pdf类型的文件缓存一年
        <FilesMatch "\.(ico|gif|jpg|jpeg|png|flv|pdf)$">
            header set Cache-Control "max-age=31536000"
        </FilesMatch>
    </IfModule>

    参考来源[……]

    Read more

    分类: WebServer 标签: ,