解决discuz 3.4强制上传头像无法使用(一直提示需要上传头像)的问题

技术攻关 2018-08-01 鸿茂传媒 698

鸿茂传媒,乐清网站建设,乐清,乐清小程序,乐清网络公司,乐清网络营销,乐清企业建站,乐清网站制作,乐清网站推广,网络公司,温州网站建设,温州网络公司,温州建站,乐清微信,乐清建站,乐清公司,柳市网站建设

discuz已经日落西山了,但是很多老的站在用,没办法,只能自己解决问题。

本次问题是:开启了强制头像上传,即便上传了头像,依旧说没有权限发表,请上传头像。

主要原因在于和uc_server的通讯,在uc_server里面显示通讯成功,但这并不一定准确(里面原因非常复杂),而且网站开启了https,所以原因更复杂了。

问题就出在了头像获取上,在uc_client/client.php中,找到

$path = $matches['path'] ? $matches['path'].($matches['query'] ? '?'.$matches['query'] : ''):'/';

下面增加:

$matches['port'] = !empty($matches['port'])&&$scheme=='https' ? $matches['port'] : 443;

然后找到:

if(!$fp = @fsocketopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout)) {

在修改为:

 if($port=='443'){$temp = 'ssl://';}else{$temp = 'http://';}if(!$fp = @fsocketopen($temp.($ip ? $ip : $host), $port, $errno, $errstr, $timeout)) {

至此应该修复了该问题了,如果还没修复,尝试以下方法:

在function uc_check_avatar中找到

$res = uc_fopen2($url, 500000, ”, ”, TRUE, UC_IP, 20);

修改为:

$res = trim(uc_fopen2(UC_API."/avatar.php?uid=$uid&check_file_exists=1"));

原本的call很不稳定,有时候返回不出1,新的这个直接打开url返回数值。

【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息发邮件至admin@honmau.com,我们将及时沟通与处理。本站内容除非来源注明鸿茂传媒,否则均为网友转载,涉及言论、版权与本站无关。点击进入客服处理
广告
热门推荐
鸿茂传媒旗舰店
乐清生活网微信
乐清生活网官方微信
近期,想定制开发一个网站
提交需求
Copyright © 2009-2019 honmau.com 鸿茂传媒 版权所有  浙ICP备11041680号-4 浙公网安备 33038202002006号