月度归档:2013年04月

SAE平台整合UEditor

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于BSD协议,允许自由使用和修改代码,功能丰富,使用起来也比较方便。大部分代码为前端代码,所以整合到SAE平台,只需要修改附件、图片上传处理的PHP处理脚本。这里选用的是UEditor最新ueditor1_2_5_1-utf8-php版本。

打开php/fileUp.php文件,此文件为文件上传处理文件,将里边代码全部注释,只需添加以下:

1
2
3
4
5
6
7
8
9
10
11
12
13
$file=new SaeStorage();
$types
阅读全文

博客新功能正式上线

经过几天的上线调试,终于把前些天写的功能加了上去,除去一些小问题,现在的博客用着感觉还是不错滴。以后要多多的更新博文,不然对不起写的这么多代码。

此次功能添加,前台主要是相册功能。

1> 普通用户可以查看相册及相册下图片,但考虑到单张图片的幻灯片较难实现,也不想用别人的代码,所以等以后有时间再写吧。

2> 管理员登陆后可以在前台上传图片、新建相册、管理相册等。

3> 修改了主界面代码显示Bug,但是多引入了几个JS及CSS文件,第一次访问时会降低一定的访问速度。

4> 文章浏览统计Bug,刷新页面不会计入用户浏览。

后台主要是整合UEditor,因为SAE平台的特殊性[对文件读写限制]。所以原生的UEditor,会导致附件及图片无法上传。

1> 整合、配置UEditor

2> 文章标签及分类添加、管理[采用Ajax处理,节省界面设计]

3> 管理员头像修改[上传、裁剪等]

查看相册效果,请点击导航中[相册]链接。

阅读全文

PHP打造多人在线聊天室[二]

第一篇帖子PHP打造多人在线聊天室[一]已经简单介绍了程序的基本功能。

但是还存在一个比较严重的Bug,在网络时延较大的情况下,会出现信息的重复显示。

问题为何出现?

在用户点击提交按钮的时候,会发送ajax请求,把用户输入的信息提交给服务器。

因为有另一个请求新信息的定时器开着,在网络时延较大的情况下,会出现当一条数据请求但还未输出在页面的时候,同样的数据会再次被请求,所以会出现信息的重复显示。

对这一问题进行了更正。

Index.js中

解决方案

定义两个请求标量:

1
2
3
varisNotGet=isNotSend=true;    //请求标量
//isNotGet:定义是否向服务器请求新的数据
阅读全文

PHP打造多人在线聊天室[一]

Ajax异步传输可实现无刷新更新页面内容,加上php可轻松实现多人网页聊天室,类似QQ群聊功能。

思路

|- 用户第一次访问站点,提示输入一用户名作为自己的昵称.

|- 只需判断一下用户cookie是否保存,我采用了js的设置cookie和获取cookie。具体代码可参考w3c手册

用户输入一用户名后,即可参与聊天,布局类似QQ聊天框

对显示聊天信息的div,在页面第一次加载时,主要发送ajax请求服务器文件,获取数据库所有信息,显示在div下的ul中,随后每一秒再向服务器请求用户最新发表的信息。

1
2
3
4
5
6
7
8
9
10
11
12
阅读全文