-
调用Yahoo API监控外汇汇率
参考链接: 1, http://kuppalli.wordpress.com/2008/11/15/get-live-currency-value-using-yahoo-api/ 2, http://www.gummy-stuff.org/Yahoo-data.htm 刚到墨尔本时, 我壮了壮胆子, 在 Subway 吃了一顿, 然后用我招商银行的信用卡结了账. 感觉还不错, 心想至少拿着人民币也饿不着了. 但回家一看账单, 招行先把账单上的澳元换美元, 再换人民币, 最后算给我的汇率就比当时的澳元/人民币汇率高的多了. 还是找个汇率低的时候多换点吧. Yahoo! 上提供了各种金融数据的接口, 有股票/能源/期货自然也有外汇汇率. 我参考了一下API, 查询澳币/人民币汇率的方法是: http://download.finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=AUDCNY=x 上面的链接在浏览器中可以得到如下数据: “AUDCNY=X”,6.7402,”3/5/2012″,”3:40am” 其实就是CSV格式了, 所以可以看出在URL里的”f=sl1d1t1″就分别指定了代号, 汇率, 日期, 时间这四个字段. 再往下就很简单了. 用 curl 获取数据, 再写入 MySQL 数据库就完成了采集功能. 而对比最近的几次汇率, 如果突破阈值就发送邮件, 也就完成了基本的监控功能了. 下面是我写的 PHP 文件, 用 Cron 设定间隔执行即可, 例如5分钟一次: */5 * * * * /usr/bin/php /home/raymond/path/to/cron-task.php…
-
Nginx + fastCGI + php5-fpm (Ubuntu 10.04)
参考1: http://wiki.mediatemple.net/w/(ve):Install_PHP-FPM_on_Ubuntu_10.04 参考2: http://wiki.nginx.org/HttpCoreModule#try_files 年前的大事基本都办了, 我又有时间折腾了. 🙂 一直听说用 nginx + fastCGI + php5-fpm 方法跑 PHP 是相当快的. 于是我来试试. 自己的经济舱级别的 VPS 只支持 Ubuntu Server 10.04, php5-fpm 还不在软件源当中. 好在 PPA 源中已经有了. 前提: 如果还不能用 PPA, 先要: $sudo apt-get install python-software-properties 然后添加 php5-fpm 的 PPA: $sudo add-apt-repository ppa:brianmercer/php 假设只缺少 php5-fpm, 其它 nginx, php5, mysql 什么的都有了, 那就… $sudo apt-get install php5-fpm 然后用缺省设置启动 php5-fpm:…
-
让Ubuntu Server支持Drupal的文件上传进度条
参考: Installing PECL uploadprogress Extension for Drupal FileField 3.0 Module 不记得从哪个版本, Drupal开始支持文件上传进度条了. 但由于利用的是服务器PHP扩充, 所以单独靠Drupal是无法完成安装的. WordPress开包即支持文件上传进度条, 但依靠的是客户端浏览器的Flash插件. 在Ubuntu Server(Desktop版本也一样)平台下, 按下面几步安装来自pecl.php.net的uploadprogress.so即可: 首先, 如果之前没有安装过pecl的任何扩充, 那么先安装pecl: $sudo apt-get install php-pear 然后, 使用pecl来安装uploadprogress: $sudo pecl install uploadprogress 完成之后, 在php.ini配置文件中加载uploadprogress, 并适当提高对上载文件尺码的限制(例如32MB): extension=uploadprogress.so upload_max_filesize=32M post_max_size=64M 重新启动apache2, 让修改生效吧. 另外我用nginx做了个reverse proxy, 那么在nginx的对应配置下, 一般来说在server{ }里面, 加上: client_max_body_size 64m; 然后应该就可以了. 😛
-
让Ubuntu Server为Drupal7做好准备
Drupal7 在各方面都让我眼馋, 今天我将D7的dev版装到测试服务器上, 结果发现出了这个问题: 貌似Ubuntu Server自带的GD有点落伍了. 按照提示重新编译PHP5? 那太伤神了. 还好, Drupal站上已经有人解决了此问题: PHP GD library on Ubuntu Server 8.04.x LTS 具体步骤如下: 首先, 清理掉现有的GD sudo apt-get –purge remove php5-gd 将下面的源加入到系统 /etc/apt/sources.list deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all 更新apt数据库 sudo apt-get update 安装新的GD库 sudo apt-get install php5-gd 之后会有一些问题, 全部按缺省, 继续即可. 然后可以重新启动的你apache2了 sudo /etc/init.d/apache2 restart 看结果 🙂
-
我的第一个CAPTCHA
Securimage 是开源的PHP CAPTCHA脚本。利用Securimage,你可以很快的做出如图的校验码出来,简单的把人类和机器人分开(至少能把不太聪明的机器人挡住)。 Securimage 需要 GD2 图形程序库。