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); ?>

    在psftp中进行批处理操作

    在psftp(sftp的命令行客户端)中进行批处理操作:

    1.首先建立文件->myscript.scr,内容如下:

    代码片段:

    
    cd /home/ftp/users/jeff
    del jam-old.tar.gz
    ren jam.tar.gz jam-old.tar.gz
    put jam.tar.gz
    chmod a+r jam.tar.gz
    quit

    2.然后你可以运行下面命令行:

    psftp user@hostname -b myscript.scr

    myscript.scr中所写的内容就会执行下去

    3.有什么用呢?在windows下写个批处理.bat,配合editplus上传文件,爽翻你

    附命令行帮助:

    代码片段:

    
    PuTTY Secure File Transfer (SFTP) client
    Release 0.56
    Usage: psftp [options] [user@]host
    Options:
      -b file   use specified batchfile
      -bc       output batchfile commands
      -be       don't stop batchfile processing if errors
      -v        show verbose messages
      -load sessname  Load settings from saved session
      -l user   connect with specified username
      -P port   connect to specified port
      -pw passw login with specified password
      -1 -2     force use of particular SSH protocol version
      -C        enable compression
      -i key    private key file for authentication
      -batch    disable all interactive prompts
      -V        print version information

    升级到php5的日记 一

    终于要从php4升级到php5了,是的,俺费尽了口舌,说服了boss使用php5和mysqli开发新项目.

    首先俺细细的阅读了官方站点上介绍php5的有关章节,以及网络上的一些关于php5的文章.基本开发环境定为linux+apache2+php5+mysql4.1,很经典的搭配.为了提高开发效率,俺决定继续使用pear的类库和prado,因此现状是php4,php5的代码将并存.第一周俺们就遇到了麻烦:

    1.mysqli和zend1的兼容性
    php.ini里面有一个选项,可以开启对zend1的兼容性,如果你在打开这个开关的同时还想使用mysqli的话,很快就会失望.它会无情的告诉你:
    unable clone a uncloneable object…………………

    2.使用prado和php5的一些问题
    prado程序包prado.php的有段代码如下:
    set_error_handler( …….. );
    php5的配置默认是不提示E_STRICT级别的错误,要命的是,这行代码对任何错误都会die(………………..),pear的代码完全没办法工作,只好咔嚓之

    使用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']);