时光博客 - WEB开发中的可用性和用户体验
Tag: fetion

博客留言短信提醒更新

这几天突然发现手机不吵了,看博客留言也没有增加,如是点进文章里面看看,发现了留言,而右侧的Sidebar居然不显示,估计是数据库有值,而没有更新缓存。

最初发现短信留言出错是在Samool的博客上看到的,因为他使用的代码和我相同,但是解析出SSIC错误,估计是飞信更改了最新的协议了。以前的代码不管用了,回头好好研究下飞信的协议。不过为了解眼前之急,还是在网上找到了解决方案。这次代码更简单了,不需要引入任何PHP文件,有热心的童鞋给我们提供了服务中转信息,不过我们的手机号和密码有没有记录在他的数据中,就无从知晓了。安全性还是不能保证。下次还是自己写一个吧。

Sablog-X 2.0 具体方法:

上传class_curl.rar到根目录,然后打开根目录下post.php 找到

  1. $cmid = $DB->insert_id(); 

在下面添加

  1. //add msg notice 
  2.     if($username!='后台登陆名') { 
  3.          require_once('class_curl.php'); 
  4.          $data["username"] = 你的手机号;   
  5.          $data["password"] = "手机密码";   
  6.          $data["sendto"] = 你的手机号;   
  7.          $data["message"] = $username."说:".$content;   
  8.    
  9.          $curl = new Curl_Class();   
  10.          @$curl->post("http://sms.api.bz/fetion.php"$data);  
  11.          
  12.     } 
  13.     //END msg notice 

测试一下OK了,中间的工作已经都交给了sms.api.bz 完成了。

如果你测试出现如下结果:

Warning: Cannot modify header information - headers already sent by

那么请看下面这段话

编码问题,utf-8有两种模式,utf-8 with bom 和utf-8 with no bom ,utf-8 with bom 会在头部输出隐藏的信息,我们知道header()跟session_start()函数前是不能有任何输出的,所以就会产生这个问题,用编辑器(不要用记事本)打开这个文件,另存为utf-8 with not bom这种模式就行了。

12.jpg

大小: 44.1 K
尺寸: 500 x 224
浏览: 314 次
点击打开新窗口浏览全图

在此感谢金山的张宴组长提供无私飞信中转服务.更多详细关于飞信短信提醒请移步 中国移动飞信免费发短信API接口(第三方 Fetion API)

Fetion API使用实例

注意此实例已经失效,请移步最新地址:《博客留言短信提醒更新》

前天修改了下博客评论手机提醒功能,发布了一篇 《Sablog添加评论手机短信提示功能》 文章之后,确实很爽,朋友们留言,手机马上就受到提示。着实很爽,总有种直接“回复短信”进行评论的冲动,但是我想这个是暂时不可能的。HuangJ.in 同学一直想要fetion的API,其实也不能算是API了,只是提供了一个URL地址,供用户从WEB界面GET数据从而实现发送功能。下面看看我自己使用的飞信api

  1. <?php  
  2. include "./class_fetion.php";  
  3.  
  4. //new fetion class and init 2个参数 一个是手机号,一个是自己的手机密码
  5. $fetion = new fetion('13911444932''111111');
  6. $fetion->init() or die("fetion init failure!\n");  
  7.  
  8. //example 1 2个参数 一个是tel:手机号 一个是短信内容
  9. $fetion->sent_sms('tel:13911444932''测试短信来自,时光博客');  
  10.   
  11. ?>  

上面的这个是简单的使用,函数被封装在class_fetion.php文件里面了。【点击下载】

另外在GG的时候也发现了 Google App Engine提供的API

使用起来很简单,只要填入自己的手机号,和密码,即可。前提是自己必须 开通飞信 功能(该功能免费)。

怎么使用就看自己的需求了,Sablog 2.0用户只需要上传压缩包中的class_fetion.php到根目录,修改根目录下的post.php文件:

搜索

  1. $cmid = $DB->insert_id(); 

在下面加上

  1. //add msg notice 
  2.     if($username!='你博客的管理员用户名,我的是Kevin') { 
  3.         $r = $DB->fetch_one_array("SELECT title FROM {$db_prefix}articles WHERE articleid='$articleid' LIMIT 1"); 
  4.         include "./class_fetion.php";  
  5.         //new fetion class and init  
  6.         $fetion = new fetion('你的手机号''手机服务密码'); 
  7.         $fetion->init() or die("fetion init failure!\n");  
  8.         //$fetion->sent_sms('tel:你的手机号', $username.'在时光博客上发表对文章 '.$r['title'].' 的评论:'.$content); 
  9.         $fetion->sent_sms('tel:你的手机号'$username.'说:'.$content); 
  10.     } 
  11.     //END msg notice 

即可,加上username过滤是为了避免自己的回复也被发送到手机上。

附:Wordpress博客系统评论短信提示管理员插件

Sablog添加评论手机短信提示功能

之前看到过 HuangJLin'X 写过评论回复的邮件提示和基于移动139邮箱的手机邮件提醒。都相当的优秀,这几天闲就在网上看到了飞信的公开协议,参看了一些资料,对本博客系统sablog-X 2.0进行了修改,添加上了文章评论手机短信提示功能。

前提:

  1. 必须为移动的号,联通暂时没有支持
  2. 必须开通飞信功能

看看测试结果:

fetion.gif

大小: 30.04 K
尺寸: 500 x 360
浏览: 321 次
点击打开新窗口浏览全图

上面2图就是测试的结果,时间的差异是服务器时间和手机时间不同产生的,理论上,网页显示的时间要比手机显示的早一点点。

发信的是本人的飞信,相当于自己给自己发短信一样。

这样以来,以后有了新的回复,就能第一时间收到,而且不花一分钱,不需要上网收邮件看了^ ^.

PS:其实不只Sablog可以做到,wordpress也能做到,只要在相应文件添加发送代码即可。