October 19, 2007
用PHP的ob_start();控制您的浏览器cache
"Output Control 函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用 header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。\n我们先举一个简单的例子,让大家对Output Control有一个大致的印象: Example 1.\nob_start(); //打开缓冲区 echo “Hellon”; //输出 header(“location:index.php”); //把浏览器重定向到index.php ob_end_flush();//输出全部内容到浏览器 ?\u0026gt; 所有对header()函数有了解的人都知道,这个函数会发送一段文件头给浏览器,但是如果在使用这个函数之前已经有了任何输出(包括空输出,比如空格,回车和换行)就会提示出错。如果我们去掉第一行的ob_start(),再执行此程序,我们会发现得到了一条错误提示:”Header had all ready send by”!但是加上ob_start,就不会提 …"
October 13, 2007
PHP让页面马上过期
"header(\u0026#34;Expires: \u0026#34;.gmdate(\u0026#34;D, d M Y H:i:s\u0026#34;,time()-1).\u0026#34; GMT\u0026#34;); header(\u0026#34;Last-Modified: \u0026#34;.gmdate(\u0026#34;D, d M Y H:i:s\u0026#34;).\u0026#34; GMT\u0026#34;); header(\u0026#34;Cache-Control: no-cache, must-revalidate\u0026#34;); header(\u0026#34;Pragma: no-cache\u0026#34;); "
October 12, 2007
利用ajax实现同步通信
"1。创建ajax 对象, 可以用以下通用代码, 此代码适合各种浏览器\nfunction newXMLHttpRequest() { var xmlreq = false; if (window.XMLHttpRequest) { xmlreq = new XMLHttpRequest(); } else { if (window.ActiveXObject) { try { xmlreq = new ActiveXObject(\u0026#34;Msxml2.XMLHTTP\u0026#34;); } catch (e1) { try { xmlreq = new ActiveXObject(\u0026#34;Microsoft.XMLHTTP\u0026#34;); } catch (e2) { } } } } return xmlreq; } 2。发送数据,ajax有2种方处理数据,同步和异步\n同步:\nfunction get_xmlhttp()\n{ var method=\u0026ldquo;GET\u0026rdquo;;//method=\u0026ldquo;post\u0026rdquo;;\nvar url=ajax.php; //接收数据后台 …"
September 27, 2007
unix 查找文件
"如果你用的是linux,首先可以考虑用locate方法,一般够用了,而且速度很快,当然在用这个命令之前要生成文件数据库[execute updatedb in console],下面的是关于find的用法,具有通用性,在unix下也可以用 每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。\n可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。Linux下的文件表达格式非常复杂,不象WINDOWS,DOS下都是统一的AAAAAAA.BBB格式那么方便查找,在WINDOWS中,只要知道要查找的文件的文件名或者后缀就非常容易查找到。Linux中查找文件的命令通常为“find”命 …"
September 27, 2007
freebsd6.2的gnome2桌面安装配置手记
"1、安装freebsd6.2。 这里我选择的是最小化安装。\n2、安装xorg。 pkg_add -r xorg\n3、安装gnome2。 pkg_add -r gnome2\n4、生成、测试相关的配置文件\nXorg -configure 将生成xorg.conf.new文件在/root/目录下。 Xorg -configure /root/xorg.conf.new(6.2做这步时似乎必须加上/root/) 这里测试下生成的配置文件,会出现1个布满小格子的大方框,并且应该有一个鼠标箭头。 然后ctrl+alt+backspace返回文字符界面。 然后编辑一下xorg.conf.new文件,然后拷贝至/etc/X11/xorg.conf\n5、配置窗口管理器 在/etc/rc.conf里加入gdm_enable=”YES” 然后重新启动,就可以自动进入GUI界面了。"
September 27, 2007
在FreeBsd中安装ports
"在FreeBsd中安装ports 一.首先进入要安装的port的目录 #cd /usr/ports/www/apache22 二.执行make命令进行编译 #make 会出现一些提示信息,一旦编译完,就会回到命令行,下一步是安装port,只要在make后面添加一个单词install即可. 三.安装port #make install 会出现一些提示信息,完毕后会回到提示符,您就可以运行您安装的程序了 四.清除安装时产生的一些临时信息: #make clean 清理工作目录是个好注意,这个目录中包含了全部在编译过程中用到的临时文件,这些文件不公会占用宝贵的磁盘空间,而且可能给升级port时带来麻烦.\n至此,安装ports的步骤基本已经完成.\n注:以上三个命令make,make install,make clean可以使用组合命令make install clean来代替."
September 25, 2007
ADODB中GetOne($sql)与GetRow($sql)的区别
"**GetOne($sql)**Executes the SQL and returns the first field of the first row as an array. The recordset and remaining rows are discarded for you automatically. If an error occur, false is returned. 执行SQL指令,并且以阵列的方式回传第一笔记录的第一个栏位。资料集及其余的记录将会被自动清除,如果发生错误,就回传 false 值。译者注:这个功能在验证某笔记录在不在特别有用,可以减少系统记忆体及资源的用量。\n**GetRow($sql)**执行SQL指令,并且以阵列的方式回传第一笔记录。资料集及其馀的记录将会被自动清除,如果发生错误,就回传 false 值。其中GetOne($sql)为了检测某一条记录是否存在时,特别有用,(如,用户在注册前,可以检测用户名是否已经被占用,比较适合GetOne($ql)).如果此时需要除检测该记录是否存在,并保存该记录的信息,就要用到GetRow($sql) …"
September 19, 2007
修改MySQL的默认密码
"对于windows平台来说安装完mysql后,系统就已经默认生成了许可表和账户,你不需要像在Unix平台上那样执行 mysql_install_db脚本来生成帐户和相应权限许可表。\n但是如果不是用MSI格式来安装MySQL的话,就需要在安装完以后,手动给 root帐户添加新密码,因为默认情况下的root没有开启密码保护功能,如果不重新赋予root帐户密码,那么许多非本机的连接将 无法成功。具体更新密码步骤如下:\nc:\u0026gt;mysql -u root\nmysql\u0026gt;set passWord for ‘root’@’localhost’=password(‘newpasswd’);\nmysql\u0026gt;set password for ‘root’@’%’=password(‘newpasswd’); //本条可选\n通过以上设置,root的密码将变为newpasswd这样就完成了根用户root密码的设置工作。"
September 18, 2007
php上传大文件注意事项
"最近用php传大文件的时候,总是传不上,起始只是看了一下php.ini里的max_post_size的值,默认是8M,一直没有搞清楚到底是怎么回事,后来在一篇文章上看到还有一个upload_max_filesize 参数,这时才明白怎么回事,结果把默认的2M改成8M,重新上传,结果ok,上传成功了!\n以下是常见的一些上传附件时的一些问题,大家可以参考一下:\n用php上传文件,问题最多的就是上传大体积文件时出现错误。 这就涉及到php的配置文件:php.ini\n在此配置文件中,有这么几个值是跟文件上传有密切关系的: file_uploads = on //是否允许系统支持文件上传 ;upload_tmp_dir //临时文件的存储路径,linux下为系统默认路径,win32下需要指定 upload_max_filesize = 2m //允许文件上传最大体积\npost_max_size = 2m //通过post方法给php时,php所能接受的最大数据容量\n如果你上传的文件体积在8m一下(通常情况),那修改以上设置就可以满足你的要求了。。\n但要 \u0026gt;8m,那除了上面几个值,还要特别关 …"
September 17, 2007
Smarty中类的继承
"Extended Setup This is a continuation of the basic installation, please read that first! A slightly more flexible way to setup Smarty is to extend the class and initialize your Smarty environment. So instead of re- peatedly setting directory paths, assigning the same vars, etc., we can do that in one place. Lets create a new directory / php/includes/guestbook/ and make a new file called setup.php. In our example environment, /php/includes is in our include_path."