手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:PHP

几个Micro Blog系统

看到有一个博客上有这个介绍,突然想起以前11爷和我说过想要做微博上的一些应用,但当时居然不知道找哪些软件,当时想的是discuz的微博,当然后来又出来了xweibo和QQ的微博系统。
但最终我还是没有什么选。也不知道11爷最后选了什么,所以在看到这个博客上介绍的microblog的系统时,不管3721先做个记录再说。
-----
原文来自:http://koda.iteye.com/blog/706002
Blurt.it
Blurt.it是一个基于PHP/MySQL搭建的微博客系统,类似于Twitter。用户可以在一个开放或私有的讨论群中与其他用户互交沟通。
 

Jisko
一个PHP微博客应用程序提供类似于Twitter的API来扩展它的功能。用户可以拥有它们个性化的页面,能够很方便与其他用户发互发消息。 Jisko还支持手机移动设备。
 


PageCookery
PageCookery是一款国产的微博客,采用Php+Mysql架构而成,是国内首款公开发行的单用户版Mblog程序,支持从 Flickr、last.fm等社交网站提取数据。
 

Floopo
Floopo是一个基于PHP+MySQL构建的微博客系统。它的功能非常类似于Twitter并且提供一个强大的后台来整个系统。
 

Storytlr
Storytlr是一个开源的微博和Lifestreaming平台。支持单用户和多用户两种模式。Lifestreaming一种在线记录个人 日常活动的网络应用,它能够聚合一个人的网络在线内容,比如博客日志,在社会性网络上面的更新,在线相册,聊天内容甚至只是一些喜欢的网站链接等等。 Storytlr当前支持的网站应用包括: Delicious、Digg、Disqus、Flickr、Google Reader、Identi.ca/Laconi.ca、Last.fm favorites、Picasa、Qik、RSS Feeds、Seesmic、StumbleUpon、Tumblr、Twitpic pictures in Twitter tweets、Twitter、Vimeo、Youtube收藏。
 

StatusNet
StatusNet是一个开源、功能强大的微博客平台。支持通过插扩展功能,除了微博必备的所有功能外,StatusNet支持自选背景和自选缩 链服务,并且支持用户使用OpenID或者Facebook账户直接登录。同时支持通过Jabber/GTalk发布帖子和接受更新。并且支持大量的国外 电信运营商(60多个),您还可以通过短信发布帖子和接受更新。
StatusNet集成Twiiter,能够实现Twitter和 StatusNet的双向同步。发帖是也可以附加文件,如果附加的是媒体文件,则可以在线浏览。与Sharetronix一样,StatusNet平台中 的用户也可以设置一些描述自己兴趣爱好的关键词,方便志同道合的人们相互结识。当然,StatusNet也有一个基于电子邮件的好友邀请界面。已经有相当 多的国外微博网站都是基于它架设。

Tags: microblog

来自雪候鸟的关于JSON一些提示

风雪之隅的博客现在也越来越被很多人知道了,当然这与他加入了php的开发组也有关系。这不,开始内爆了。

前两天我在纠正关于json_decode的问题时,看了一下在线手册,才发现json_decode有了第四个可选参数,把BIG_INT当成STRING来处理。
当然看json_decode的时候里面的参数介绍的不多。这不,昨天雪候鸟更新了N多博客,里面就介绍了两篇与JSON相关的东西:

1、让Json更懂中文(JSON_UNESCAPED_UNICODE)
2、JsonSerializable接口

其中第1篇就是我说的BIG_INT相关的那些附加参数,他这么说了:

XML/HTML代码
  1. 怎么样, 是不是让大家很开心的改动? 呵呵, 当然, Json在5.4还加入了: JSON_BIGINT_AS_STRING, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES等选项, 如果有兴趣, 大家可以参看: json_encode 

所以,比如让中文输出的时候不要变成\uxxxx这种格式就只需要这样:

PHP代码
  1. <?php  
  2. echo json_encode("中文", JSON_UNESCAPED_UNICODE);  
  3. //"中文"  ,如果没加这个参数,以前输出是:"\u4e2d\u6587"

然后JSONSerialize,则是有点象serialize了,但是只针对数据输出,而不是象serialize可以把整个对象序列化。。有点象这样:

PHP代码
  1. <?php  
  2. class JsonTest implements JsonSerializable {  //看一下这里
  3.     private $a$b;  
  4.   
  5.     public function __construct($a$b) {  
  6.         $this->a = $a;  
  7.         $this->b = $b;  
  8.     }  
  9.   
  10.     public function jsonSerialize() {  //也就是说这里要主动实现
  11.         return $this->a + $this->b;  
  12.     }  
  13. }  
  14.   
  15. echo json_encode(new JsonTest(23, 42));  
  16. ?>  
  17.   
  18. //65  

在使用的时候就可以这样:

PHP代码
  1. <?php  
  2. $data = array(  
  3.     new stdClass();  
  4.     new JsonTest(1,2),  
  5.     new JsonTest(3,4),  
  6.     array(5,6)  
  7. );  
  8. echo json_encode($data);  
  9. ?>  
  10.   
  11. //[{},3,7,[5,6]]  

雪候鸟也说了:最后提醒一下, PHP 5.4还处于开发阶段, 在最终release之前, 这些特性都可能被调整或者更改. 如果大家有任何建议, 也欢迎反馈, 帮助我们使得PHP变得更好.

------
好吧,第一个功能我喜欢,第二个我短时间内还用不到。。。

Tags: 雪候鸟, json

登陆通?

介绍这个项目不是因为这个项目很好,主要是其实有一些地址我也不太清楚,但是既然我转载了,那就干脆把原作者的这个项目也介绍一下下喽:

作者主页: http://blog.lyphp.com
项目在:https://github.com/faxiandi/DengLuTong
在项目中需要用微博等帐号登录,便做了此登录通,从最开始只有新浪微博慢慢扩充到现在支持11个网站。 目前只有登录功能,以后会慢慢扩充。 如要与现有系统整合,需根据情况修改lib/local/local.php。

系统需求
php>=5.3 mysql(如需使用其他数据库,请修改自定义相应操作类,参照DBMYSQL.PHP)

安装
DengLuTong\DLTConfig.php中修改数据库信息、app key(对应KEYID)、app secret(对应SECID),根据实际情况修改url地址。 在数据库中添加用户绑定表,结构在DengLuTong.sql中。

演示
index.php,login.php,logout.php,reg.php为示例程序文件。示例用户表结构在DengLuTong.sql中。

API申请地址
天涯 http://open.tianya.cn/
腾讯 http://connect.opensns.qq.com/
淘宝 http://open.taobao.com/
Google OAUTH https://www.google.com/accounts/ManageDomains
开心网 http://www.kaixin001.com/platform/rlink/rlink_create.php
搜狐 http://open.t.sohu.com/
网易 http://open.t.163.com/
豆瓣 http://www.douban.com/service/apikey/apply
MSN https://manage.dev.live.com/
人人网 http://dev.renren.com/
新浪 http://open.weibo.com/
盛大 http://connect.open.sdo.com/
YAHOO https://developer.apps.yahoo.com/projects
支付宝 https://b.alipay.com/order/hot.htm
---------------------
这些API的地址才是我真正想要转载的。

笔记:json_decode

今天同事突然和我说,腾讯微博无法访问了。但新浪微博接口却是正常的。
打开指定的URL,发现报错,仔细看了一下代码,居然是
if(!is_array($jsonDecode)){
     throw new Exception("xxxx");
}
当发现json解析出来不是数组的时候,直接抛出异常。
可是我把json字符串在decode前输出的时候是正常的,那是为什么呢?为什么我var_dump出来是null?
看了一下手册,居然说var_dump出来null的原因是因为deepth不够,但看了一下手册,好象也就三个取值范围,128,512,1024,于是我设为最大的1024,但仍然失败。

然后,突然发现,居然json_decode有第四个参数,把BIGINT当成字符串。以为是这个问题导致的,兴冲冲的把这个参数加上去,结果报错,看了一下手册,原来这个参数居然是PHP 5.4才有的。。。

----
再测试,把文本拷成字符串,运行json_decode,居然正常了。这时候我就纳闷了。为什么直接处理不正常。拷成字符串就正常了。
仔细检查。居然发现里面有中文被截断的字符串。晶,肯定是这个原因了。。。
于是写正则,把这玩意替换掉,把&#65\d{3};的字符串都替换成空格。然后再反处理回去。。结果仍然失败,这时候我就在想一个问题,为什么会有这种情况?

最终我确定,绝对是编码,一定是那个不正常的字符串导致了原来的json字符串被错误的识别成了ISO-8900-1,所以我啥也没处理,直接把json字符串mb_convert_encoding($str,"UTF-8","auto"),自动转换成utf-8,果然json_decode,顺利的转换成了数组。

---
纠结了一天的事情,居然就是这样的小,所幸解决了。

Tags: json_decode, 腾讯微博

关于Basename取中文文件名

之前在博客里有提过basename的事情,蜘蛛也说过这个函数处理中文有问题。我也在测试的过程中遇到过各种各样的问题,但总体来说,我现在在处理中文文件名的时候是直接 array_pop(explode("/",$filename));
今天在群里,echo也说了这个问题,他居然还贴了SVN中PHP的源码关于basename的一段,并指出问题在php_mblen 这个函数上:他说mblen发现全中文的时候会返回负数。
于是他说有个临时的解决方案是:

XML/HTML代码
  1. echo  22:00:11  
  2. ltrim(basename(' ' . $filename))  
  3. 骗过mblen() ,mblen全中文的时候,返回的是负数。  
  4. 有一个空格就好 了  

没有试过,希望能够解决问题。
然后日哥说,可以用exif_read来解决这个问题,可以取得图片的title,但echo直接无视,因为不是每个上传的文件都是图片,可以通过 Exif_read解决这个问题。

echo也说了,别妄想用pathinfo解决这个问题,因为源码里显示,这个函数最 后还是调用了php_basename,所以他们的问题其实是一样的。。。。


=------纯记录----

Tags: basename, pathinfo