savant2模板的小变化

savant2模板引擎升级到2.4.1,在摸板输出方面也有小的改进,更加安全且易用。

  • 摸板书写的变化:
    以前可以直接用php语法在摸板内输出变量,如

    < ?=$this->title ?>

    现在改为:

    < ?$this->_($this->title) ?>

    增加了一个方法”$this->_()”,用于显示变量

    当然,前者的书写方法还是支持的。$this->_()方法会自动escape输入的变量,以防止跨站脚本攻击,更加安全好用

  • sanvat3
    sanvat3也在开发之中,仅适用于php5
  • 模板程序HTML_Template_Savant介绍

    俺使用的wordpress插件清单

  • Inline Javascript Plugin
  • 自家土法制作的javascript插件,其实不仅仅用于javascript,凡是不想被wordpress自动格式化的文章都可以套用

  • Recent Comments
  • 在页面上显示最新评论

  • Jerome’s Keywords Plugin
  • 很好用的tag插件,我只开启了最简单的功能,这里是我的安装过程 — wordpress的tag插件

  • Spam Karma 2
  • 反垃圾留言插件,安全运行100天无故障,目前已经自动咔嚓了596条垃圾留言(060726),无一误判。相反还引来了大量的不知死活的spamer针对这个帖子不停的做试验。见反垃圾留言 – wordpress

  • iG:Syntax Hiliter 3.1
  • Amit Gupta Syntax Highlighter for various programming languages, using the GeSHi engine.

  • Google Sitemap Generator for WordPress v2 Final
  • This plugin generates a Google Sitemaps compliant sitemap of your WordPress blog.

    php+mcrypt的编译步骤

    php+mcrypt的编译步骤

    下载mycrypt:
    http://prdownloads.sourceforge.net/mcrypt/libmcrypt-2.5.7.tar.gz

    编译mcrypt:
    ./configure –prefix=/usr/local
    make
    make install

    然后编译php,加上编译参数
    ./configure ……………. –with-mcrypt=/usr/local/lib
    make;make install

    重启apache
    over

    测试代码

    
    < ?php
    $str = '测试字符串,来一截长一点的';
    $key = 'aaaadasdfasdf';
    $td = mcrypt_module_open('tripledes', '', 'ecb', '');
    $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
    mcrypt_generic_init($td, $key, $iv);
    
    // 加密
    echo $encrypted_data = mcrypt_generic($td, $str);
    
    echo '
    '; // 解密 echo mdecrypt_generic($td, $encrypted_data); mcrypt_generic_deinit($td); mcrypt_module_close($td); ?>

    使用Pear::Pager类的一个问题

    今天把公司的服务器从php4升级到php5,问题来了.最严重的是使用Pear::Pager类,报错如下:
    Fatal error: Cannot re-assign $this in D:xampphtdocstmptest.php on line 5

    看了下Pager类的构造,有如下代码:
    $this = ……………..;

    看来从php5开始不再支持这种对自身重新实例化的写法了,只好重写了Pager类草草收场

    [@more@]

    轻巧的php模板类——SmartTemplate

    SmartTemplate:

    一个比较轻巧的php模板,执行速度上很有优势,据说执行速度是smatry的8x倍,当然实际使用中不会那么夸张,据本人测试,运行速度至少是pear的IT模板的4倍以上(2000个循环替换)。

    下载地址:

    http://www.smartphp.net/content/app/download.php

    使用注意事项:

    为了在同一个脚本中使用多个模板可以这样修改(php4):

    281 line

    unset($_top); 

    to

    unset($GLOBALS['_top']);

    大文件上传且带进度条的php解决方案

    以下是用Pear::HTML_Progress实现大文件上传的例子

  • HTTP 1 – Upload files with your web browser to a web server. Single page (using frames).
  • HTTP 2 – Upload files with your web browser to a web server. Progress meter in a popup.
  • HTTP 3 – Mixed field Upload. Single page (using frames).
  • HTTP 4 – Upload files with your web browser to a web server and logs operations into a file.
  • FTP – Upload file on a remote ftp server that may be different than webserver.

    更多的HTML_Progress教程看这里:
    http://pear.laurent-laville.org/HTML_Progress/examples/

  • [@more@]

    PHPObject 1.44 released

    PHPObject 1.44早在这个月的15日就发布了,但是俺对这东东一直很欠感冒,因为它和AMFPHP一样对多字节的文字支持很差,可以说无法使用。

    今天看到超链接地址AMFPHP的中文使用办法 这篇文章受到了启发,在PHPObject中用同样的办法,果然也可以正常显示中文。

    测试时,这两个东东可以不加(也不能加):

    System.useCodepage=true;

    myFoo.utf8encode(false);

    下载超链接地址PHPObject 1.44

    php代码美化程序PHP_Beautifier试用手记

    在pear的rss列表上看到了PHP_Beautifier 0.1.1 beta发布,便下载回来试用:
    >>pear install PHP_Beautifier
    ………………………………………..

    顺利完成,看了下帮助,还带有命令行工具,方便:

    D:xamppphp>php_beautifier –help

    Usage: php_beautifier [options]
    and/or can be ‘-‘, which means stdin/stdout.
    you can use ? and * for batch processing
    can be a dir (ending with ‘/’ or a real dir)
    or a file (without ‘/’)
    multiple ins and one out = merge all files in one output
    Options:
    –input or -f input file – default: stdin
    –output or -o output dir or file – default: stdout
    –indent_tabs or -t indent with tabs
    –indent_spaces or -s indent with spaces – default
    –filters or -l Add filter(s)
    –directory_filters or -d Include dirs for filters
    –compress or -c Compress output
    –recursive or -r Search in subdir recursively
    –help or -? display help/usage (this message)

    Filter definition:
    –filters "Filter1(setting1=value1,setting2=’value2′) Filter2()"

    不过试用下来,处理的不是太完美,比如复杂点php代码美化后不整齐之类的,期待更好的版本出现 [@more@]