为什么flush不生效?

老早就看了这篇文章:

超链接地址类似socket传输的flush()

非常简单的代码,却总是不能在我的服务器上正常运行,如下:

< ?php 
for($i = 1; $i <= 500; $i++)print ” “;  
  ob_implicit_flush();  
  for($j = 1; $j <= 30; $j++) {  
  echo $j.“
”; sleep(1); } ?>

百思不得其解,最后找到apache的httpd.conf配置文件,发觉压缩输出的选项deflate被打开,上面小程序一直要等待压缩完毕才会出现效果,实时输出的效果也就无法体现了.调整deflate压缩的范围,重启apache,一切正常收工.

用php生成php脚本

看到这篇文章,很有趣:超链接地址Generating PHP with Ruby

下面是个用php生成php简单的例子:

< ?php
// Some code
$code = ‘
<?php
echo “Hello World!”;
?>
‘;

// Write code to file
file_put_contents(‘generated.php’,$code); # PHP5 function!

// Include the generated code for execution
include ‘generated.php’;
?>

为什么不直接使用eval呢?我的理解是,这样只需要将生成的代码包含进来直接运行便是,省去了eval的解析时间,效率可能会更高.

单子模式(SINGLETON)的简单实现

参考了超链接地址DevNet超链接地址Chinaunix.net 的讨论,用以下代码简单实现单子模式(SINGLETON):

代码片段:


<?php 
/**
*  Class: SingletonPool
*  Store multiple singletons (of different classes, naturally).
*
*/
class Singleton {

    
/**
    * 返回唯一对象,可保存多个对象
    *
    * @param (string) $class - the class name
    * @return object
    * @access public
    * @static
    */
    
function &getInstance($class) {
        static
$ob = array();

        if( !isset(
$ob[$class]) ) {
            
$ob[$class] = & new $class;
        }

        return
$ob[$class];
    }

}
?>

Apache的AddDefaultCharset

看了这篇文章:超链接地址配置 Apache 强行指定浏览器编码选择 ,俺也有些感想:

apache 2的配置文件中,AddDefaultCharset缺省是ISO-8859-1,所以很多人刚开始用的时候会把它改成GB2312,这样就可以避免乱码问题.

我也推荐人家用这个解决办法在一段时间里,直到有一次看到一个UTF-8编码的页面,始终是乱码,无可救药的乱码,任你如何调整浏览器的设置.无奈之下我把AddDefaultCharset那行整个屏蔽了,突然发现所有UTF-8页面恢复了正常,真的好神奇耶!!

从此,我深深的认识到:在AddDefaultCharset被屏蔽的情况下,页面的编码是由<meta>标记决定的.

在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

Eclipse无法启动

受网上某些文章诱惑,决定安装个Eclipse编辑器来玩玩.粉简单的事情,屡次失败.只好拍桌子骂Eclipse弱智并弃之.

但是google实在是无所不能,找到以下文章解决了问题:

http://blog.csdn.net/shaokun305/archive/2004/09/22/112627.aspx

原来是oracle客户端自带的jdk捣鬼,删掉后eclipse正常启动.