snoopy是在系统不支持curl的情况下所采用的抓取网络信息最有用的工具之一,因为他可以模拟POST,GET等方法,而无须让你再向以前一样用fsockopen,写上一大堆代码。
这样的一个类库,在目前被PHP的使用者广泛应用着,本来以为他就这样的一直不再更新下去,不料最近还是有了一些改动,当然这些改动都是一些BUG fix,而且是安全方面的,建议下载后更新。
更新情况:
Posted By: mohrt
Date: 2008-10-22 22:54
Summary: Snoopy 1.2.4 security fix
A security vulnerability was fixed in the latest 1.2.4 version of Snoopy. It was possible to send shell commands through https url fetches that are not properly sanitized by the PHP program using Snoopy.
下载页面为:
http://sourceforge.net/project/showfiles.php?group_id=2091
在很早很早以前,我们的看图软件都是用的acdsee,直到现在机器里还保存着2.4和3.1这样的经典版本,随着时间的推长,acdsee的肚量也越来越大,启动速度也越来越慢。最后还出了一个pro版。不过这一切都和我无缘了。因为我不再使用它。
在不再使用的日子里,我尝试了一些其他的软件:xnview,光影魔术手(新版本里面有看图软件了)等。但效果确实不能让人满意。光影的看图功能还不是很强劲,但比xnview要好上很多。
picasa也是我很久前就用的软件。刚出测试版的时候就使用了。只是那时候的效果很不好,在用上一段时间后就放弃了。
由于我现在用的是2003的精简版,里面看图功能被拿掉了。所以我最初用xnview,但是不舒服,后来就换成了picasa。现在我很满意:速度和编辑功能都相对提高了很多,而且滚轮的无限级缩放也很人满意。空格全屏非常爽。当然还有他自带的picasa WEB功能,可以让你在看图的时候选择是否上传到picasa 网站。
贴上一些介绍:
一款可帮助您在计算机上立即找到、修改和共享所有图片的软件.每次打开 Picasa 时,它都会自动查找所有图片(甚至是那些您已经遗忘的图片),并将它们按日期顺序放在可见的相册中,同时以您易于识别的名称命名文件夹.您可以通过拖放操 作来排列相册,还可以添加标签来创建新组.Picasa保证您的图片从始至终都井井有条.Picasa还可以通过简单的单次点击式修正来进行高级修改,让您只需动动指尖即可获得震撼效果.而且,Picasa还可让您迅速实现图片共享–可以通过电子邮件发送图片、在家打印图片、制作礼品 CD,甚至将图片张贴到您自己的blog中.
下载:Google Picasa 3.1 Build 70.71
The new features include:
-Picasa in 38 languages
-Advanced sharing options
-New and improved scrolling
-New sharpen slider
上午莫莫找我,问我有没有办法处理UTC时间,我很得意的将前两天COPY过来的,淘宝DBA的文章发给他看。说道,很简单呀,str_to_date就行了。
然而实现下来,却不正常,莫莫的时间是:05/Dec/2008:12:10:59 +0800,处理了半天都没有处理下来。因为我用的是:
SELECT STR_TO_DATE('05/Dec/2008:12:10:59 +0800' , '%d/%m/%Y');在我想来,date,month,year就行了,结果,返回给我的是NULL,死活不知道是什么问题。。。。
后来莫莫和我说,陌陌解决了这个问题,他用的是:SELECT STR_TO_DATE('05/Dec/2008:12:10:59 +0800' , '%d/%b/%Y');整个参数里就一个b和我的不一样。
才知道,也才明白,用STR_TO_DATE的时候,后面的参数和格式要和前面的参数一模一样,包括位置,包括参数的格式;虽然返回的值是:2008-12-05,但格式不对或者顺序不对,返回的肯定是NULL
记录下来,提醒一下自己,这个东西和php的strtotime不一样啊。。。
说实话,对于《家有喜事》我还是挺喜欢看的,虽然有人说《97家有喜事》并不能算这个系列,但如果不算上它,它就不是系列了。。。
第一部是张国荣主演,还有梁家辉等等名人,第二部又有星爷加入,据说今年是想拍第三部,但因为星爷身价太高,肯定是不会请了,但又听说吴君如好象会参加。。
再来随便说说,好象,每一部《家有喜事》年都是金融风暴年哦,92年。。。97年。。。今年08年。下次又将是什么时候呢?借家有喜事来冲冲喜?呵呵
不过,电影我还是喜欢看的,如果今年重拍,不知道会有什么样的惊喜。有空的时候,上网温习一下这两部老电影先。
说实话,在我的应用当中,很少会用到这些MYSQL自带的时间函数,除非是在使用PHPMYADMIN的时候,于是,经常在有人问我,时间上加一天怎么办,减一天怎么办,当前月的最后一天怎么处理,上个月的今天到这个月的今天怎么搞,我都是临时翻手册来加以解释。毕竟大多数的情况下,我们都是会把这些处理交给PHP计算好再使用SQL查询,而真的很少利用自带函数。
在看到Taobao的DBA们把它们整理出来时,不禁暗暗 的YING笑了一番,以后方便了,不用找手册了。。。。。
原文:http://rdc.taobao.com/blog/dba/html/234_mysql_date_func.html
作者:丁原
内容:
通常我们会有一些时间的转换需求,比如要统计某个时间段的收入,比如要截取某个时间的年份,比如要根据某个日期推算出是星期几等个,这些都可以通过Mysql自带的时间函数很容易实现。因为我对Mysql的函数还不熟,而通常又会调用这些时间函数,这边稍加总结以便查询。
–返回当前时间
mysql> select now(),date(now()),sysdate();
+---------------------+-------------+---------------------+
| now() | date(now()) | sysdate() |
+---------------------+-------------+---------------------+
| 2008-12-02 10:11:36 | 2008-12-02 | 2008-12-02 10:11:36 |
+---------------------+-------------+---------------------+
1 row in set (0.00 sec)
mysql> select curdate(),curdate()+0,curtime(),curtime()+0;
+---------------------+-------------+---------------------+
| curdate() | curdate()+0 | curtime() | curtime()+0 |
+---------------------+-------------+---------------------+
| 2008-12-02 | 20081202 | 10:00:33 | 100033.000000 |
+---------------------+-------------+---------------------+
–返回日期当月最后一天
mysql> select last_day('2008-12-02');
+------------------------+
| last_day('2008-12-02') |
+------------------------+
| 2008-12-31 |
+------------------------+
1 row in set (0.00 sec)
–返回日期的星期几
mysql> select dayname('2008-12-02'),dayofweek('2008-12-02');
+-----------------------+-------------------------+
| dayname('2008-12-02') | dayofweek('2008-12-02') |
+-----------------------+-------------------------+
| tuesday | 3 |
+-----------------------+-------------------------+
1 row in set (0.00 sec)
–返回日期的年,月,日
mysql> select month('2008-12-02'),year('2008-12-02'),day('2008-12-02');
+---------------------+--------------------+-------------------+
| month('2008-12-02') | year('2008-12-02') | day('2008-12-02') |
+---------------------+--------------------+-------------------+
| 12 | 2008 | 2 |
+---------------------+--------------------+-------------------+
1 row in set (0.00 sec)
–返回日期的小时,分,秒
mysql> select hour('10:05:03'),minute('10:05:03'),second('10:05:03');
+------------------+--------------------+--------------------+
| hour('10:05:03') | minute('10:05:03') | second('10:05:03') |
+------------------+--------------------+--------------------+
| 10 | 5 | 3 |
+------------------+--------------------+--------------------+
1 row in set (0.00 sec)
1.subdate(d,t):起始时间加上一段时间(year,month,day…)
mysql> select date_add('1998-01-02', interval 31 day),adddate('1998-01-02', 31);
+-----------------------------------------+---------------------------+
| date_add('1998-01-02', interval 31 day) | adddate('1998-01-02', 31) |
+-----------------------------------------+---------------------------+
| 1998-02-02 | 1998-02-02 |
+-----------------------------------------+---------------------------+
1 row in set (0.00 sec)
mysql> select date_add('1998-01-02',interval 2 year);
+-----------------------------------------------------+
| date_add('1998-01-02', interval 2 year)
+-----------------------------------------------------+
| 2000-01-02
+-----------------------------------------------------+
1 row in set (0.00 sec)
mysql> select date_add('1998-01-02', interval 2 hour);
+-----------------------------------------------------+
| date_add('1998-01-02', interval 2 hour)
+-----------------------------------------------------+
| 1998-01-02 02:00:00
+-----------------------------------------------------+
1 row in set (0.00 sec)
2.subdate(d,t):起始时间减去一段时间
mysql> select subdate('1998-01-02', interval 31 day),subdate('1998-01-02', 31);
+----------------------------------------+---------------------------+
| subdate('1998-01-02', interval 31 day) | subdate('1998-01-02', 31) |
+----------------------------------------+---------------------------+
| 1997-12-02 | 1997-12-02 |
+----------------------------------------+---------------------------+
1 row in set (0.00 sec)
3.addtime(d,t):起始时间d加入时间t
mysql> select addtime('1997-12-31 23:59:50','00:00:05'), addtime('23:59:50','00:00:05') ;
+-------------------------------------------+--------------------------------+
| addtime('1997-12-31 23:59:50','00:00:05') | addtime('23:59:50','00:00:05') |
+-------------------------------------------+--------------------------------+
| 1997-12-31 23:59:55 | 23:59:55 |
+-------------------------------------------+--------------------------------+
1 row in set (0.00 sec)
4.subtime(d,t):起始时间d减去时间t
mysql> select subtime('1997-12-31 23:59:50','00:00:05'), subtime('23:59:50','00:00:05');
+-------------------------------------------+--------------------------------+
| subtime('1997-12-31 23:59:50','00:00:05') | subtime('23:59:50','00:00:05') |
+-------------------------------------------+--------------------------------+
| 1997-12-31 23:59:45 | 23:59:45 |
+-------------------------------------------+--------------------------------+
1 row in set (0.00 sec)
5.datediff(d1,d2):返回起始时间d1和结束时间d2之间的天数
mysql> select datediff('1997-12-31 23:59:59','1997-12-30');
+----------------------------------------------+
| datediff('1997-12-31 23:59:59','1997-12-30') |
+----------------------------------------------+
| 1 |
+----------------------------------------------+
1 row in set (0.00 sec)
6.date_format(date,format):根据format字符串显示date值的格式
mysql> select date_format('2008-12-02 22:23:00', '%y %m %m %h:%i:%s');
+---------------------------------------------------------+
| date_format('2008-12-02 22:23:00', '%y %m %m %h:%i:%s') |
+---------------------------------------------------------+
| 2008 12 12 22:23:00 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
7.str_to_date(str,format) 字符串转化为时间
mysql> select str_to_date('04/31/2004', '%m/%d/%y %h:%i:s');
+-----------------------------------------------+
| str_to_date('04/31/2004', '%m/%d/%y %h:%i:s') |
+-----------------------------------------------+
| 2004-04-31 00:00:00 |
+-----------------------------------------------+
1 row in set (0.00 sec)
8.timestamp(expr) , timestamp(expr,expr2) :
对于一个单参数,该函数将日期或日期时间表达式 expr 作为日期时间值返回.对于两个参数, 它将时间表达式 expr2添加到日期或日期时间表达式 expr 中,将theresult作为日期时间值返回
mysql> select timestamp('2003-12-31'), timestamp('2003-12-31 12:00:00','12:00:00');
+-------------------------+---------------------------------------------+
| timestamp('2003-12-31') | timestamp('2003-12-31 12:00:00','12:00:00') |
+-------------------------+---------------------------------------------+
| 2003-12-31 00:00:00 | 2004-01-01 00:00:00 |
+-------------------------+---------------------------------------------+
1 row in set (0.00 sec)
9.取当天0点0分,下一天0点0分
mysql> select timestamp(date(sysdate())),timestamp(adddate(date(sysdate()),1));
+----------------------------+---------------------------------------+
| timestamp(date(sysdate())) | timestamp(adddate(date(sysdate()),1)) |
+----------------------------+---------------------------------------+
| 2008-12-02 00:00:00 | 2008-12-03 00:00:00 |
+----------------------------+---------------------------------------+
1 row in set (0.00 sec)
--EOF--