正在加载...

logo

Discuz更新到7.2版本的时候,在上传头像的模块中出现了“文件上传过程中出现I/O错误”的提示。这个模块是用Flash开发的,起初是怀疑UCenter的data/tmp文件权限不对,检查无误后,想到也许是apache设置了“Hotlink Protect”的缘故,将其取消测试,还是报错。最后只有求助于Google,发现网上很多同学们都遇到了同样的问题,但是提出的各种解决方法都并不有效。搜索了半天,终于在discuz的官方论坛上找到了一个解决方法:

打开BBS目录下的 uc_client/client.php 文件,找到第477行,应该如下:

1
$uc_avatarflash = UC_API.'/images/camera.swf?inajax=1&appid='.UC_APPID.'&input='.$uc_input.'&agent='.md5($_SERVER['HTTP_USER_AGENT']).'&ucapi='.urlencode(str_replace('http://', '', UC_API)).'&avatartype='.$type;

将这段代码改成:

1
$uc_avatarflash = UC_API.'/images/camera.swf?inajax=1&appid='.UC_APPID.'&input='.$uc_input.'&agent='.md5($_SERVER['HTTP_USER_AGENT']).'&ucapi='.urlencode(UC_API).'&avatartype='.$type;

Bingo,搞定。貌似在open url的时候需要把"http://"协议字符串保留,但不知道为什么discuz把它干掉了,也许是php的配置问题。特此记录在blog中备忘。

: http://www.acwind.net/blog/?p=797

本文相关评论 - 才一条评论
牧马人
2010-04-05 23:12:50

这位朋友的招的确高,我为此问题纳闷了好几天呢,现在终于找到了解决办法,在此谢过了。分享是一种精神,分享是一种境界。感谢您的无私分享!

[备案序号 渝ICP备05000871号]