整天坐在电脑前只能使效率下降,坐久了就没了思路,脑子僵硬。 昨天用Smarty改写的picviewer在处理循环时两个tr标签只要用一个if就可以完成,不过就是还用phplib的思路去想,用了两个if,结果弄了半天,才勉强弄好。 昨晚在广场吹风,才突然发现其实不用那么复杂的思路,很简单的一个if就可以了。 以后要注意这个问题!
RSS错误,不懂
把Blog的CSS又稍微改了一下,文字变得好看多了,发现CSS还是比较好玩的 🙂
不过RSS始终是有错误,一点也不懂,还要学习。
一时冲动,订了件PHP T-shirt
昨天一时冲动,在Exceed PHP预订了一件PHP T-shirt,I型L号 35元加6元邮寄 当时觉得挺好看的,而且现在PHP正在兴头上,所以…… 现在有点后悔,不知质量和大小是否会满意 算了算了,也很少有买书之外的购物冲动,呵呵,比较难得。
用Smarty写的picviewer
下午试着用Smarty重写picviewer,还比较顺利。
使用Smarty前要建templates, templates_c, configs ,cache四个目录才能使用
Smarty模板的建立要比PHPLIB复杂一点,但功能较强,输出控制也简单得多,速度差别还没多大感觉。
顺便还发现了picviewer(PHPLIB)的一个bug,就是最后嵌套完后剩余不足一层的图片不会显示出来,只要在循环之外将外层block再parse一次就可以了。
Smarty
完善了picviewer 升级到1.1
- 图片的显示改用了双层block嵌套,修正了以前只能用tr标签换行的bug
- 全部图片专辑只用根目录下的index.php就可以完成显示,以往只能一个目录放一个index.php
- 界面作了少许修改,不过效果不佳
- 版本号改为1.1
此程序为练习PHPLIB之template之习作,到此已经比较完善,template也告一段落
修改了Blog的文字显示
查了一下CSS的用法,原来文字间隔问题出在:
- p, li, .feedback {
- font: 90%/175% ‘Lucida Grande’, ‘Lucida Sans Unicode’, Verdana, sans-serif;
- letter-spacing: -1px;
- }
把letter-spacing: -1px改为letter-spacing: 1px效果就好多了
FreeBSD与Linux的区别
这个问题的N种回答:
高深的:
FreeBSD,从unix移植到x86版的一群expert hacker
Linux,从x86从零开始编写一个unix的一大群hacker
架构的:
FreeBSD是一个完整的系统架构
Linux拥有内核和各种五花八门的发行版
历史的:
FreeBSD曾经碰到过一些法律问题,阻碍了FreeBSD的顺利发展,正如Linux目前正在经历的一样
防御的:
FreeBSD在承受网络攻击方面,似乎比Linux更强壮
洁癖的:
FreeBSD的体系单一,比Linux的发行版机制更简单
学习的:
FreeBSD的体系更适合研究技术,而Linux则向所有的领域进发,甚至跑到mac/pda/汽车控制/宇航/电影等等。
许可的:
FreeBSD的BSD许可,你可以做任何事情,只需要事先大喊一声:“偶用了BSD技术”。而Linux的GPL需要你告诉别人你怎么做的。
软件的:
Linux在支持更多的软件特性上面具有优势(例如线程什么的),FreeBSD缓慢一些
硬件平台的:
NetBSD做的不错,Linux更加疯狂,甚至跑在ps2上
外设的:
Linux支持的外部设备更多
安全的:
OpenBSD是霸主,Linux追赶,不过大家似乎公认安全在人
水平的:
FreeBSD开发组成员平均教育水平更高,这与Linux质量好坏有关吗?
传统的:
FreeBSD在系统稳定性上比Linux更好,也许早就过时了。
功绩的:
FreeBSD最早实现了TCP/IP协议,在IPv4网络上优势无以伦比。
未来的:
FreeBSD:把Solaris/AIX/HP UNIX等优势都弄到x86上
Linux: 进入上述平台的领域
实用的:
FreeBSD在终端上具有传统的优势
Linux则在X体系以上获得了不少分数,足够冲击windows
FANS的:
偶就是喜欢FreeBSD
偶就是喜欢Linux
在MySQL数据库中存储图片
汗,以前一直误以为MySQL不能存储图片
在mysql中建立一个新的数据库
一个怎样储存文件的例子程序
一个怎样访问文件的例子程序
在mysql中建立一个表
CREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,description CHAR(50), bin_data LONGBLOB, filename CHAR(50), filesize CHAR(50), filetype CHAR(50));
< ?php
// getdata.php3 – by Florian Dittmer <[email protected]> // 调用方法: getdata.php3?id=<id>
if($id) {
// 你可能需要调整主机名,用户名和密码: @MYSQL_CONNECT( "localhost", "root", "password");
@mysql_select_db( "binary_data");
$query = "select bin_data,filetype from binary_data where id=$id"; $result = @MYSQL_QUERY($query);
$data = @MYSQL_RESULT($result,0, "bin_data"); $type = @MYSQL_RESULT($result,0, "filetype");
Header( "Content-type: $type"); echo $data;
}; ?>
怎样储存大于1MB的文件:
如果你想储存大于2MB的文件,你必须对你的程序、PHP设置、SQL设置进行许多修改。
下面几条也许可以帮助你储存小于24MB的文件:
修改你的PHP设置,在一般情况下,PHP只允许小于2MB的文件,你必须将max_filesize(在php.ini中)的值改成24000000
去掉MYSQL的数据包大小限制,在一般情况下 MYSQL 小于1 MB的数据包.
你必须用以下参数重启你的MYSQL
/usr/local/bin/safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O record_buffer=1M -O max_allowed_packet=24M
如果仍然出错:
可能是超时错误,如果你通过一个很慢的连接来储存一个很大的文件,PHP缺省的时间限制为30秒。
你可以将max_execution_time(在php.ini中)的值改为-1