当前位置:首页 > PHP教程 >

discuz更新H5头像上传

发布时间:2020-09-17 16:55:39 作者:佚名 阅读:(24)

越来越多的浏览器可以慢慢的不在支持flash,对应一些discuz论坛的老的版本来说就需要进行升级操作了,接下来吾爱编程为大家介绍一下discuz头像上传flash改为h5上传的方法,有需要的小伙伴可以参考一下:

1、准备工作:

    根据自己的网站编码格式下载对应的最新的版本代码,然后解压备用

2、模板文件修改:

    文件路径:template\default\home

    在新版的模版文件夹找到我们需要的spacecp_avatar_body.htm和spacecp_avatar.htm两个文件,然后上传覆盖我们的现有的文件即可

    ps:如果担心出错,可以提前备份一下两个文件

3、语言文件修改:

    文件位置:source\language\home\lang_template.php,打开文件,然后ctrl+F,查找“setting_my_new_avatar_message”,然后在下方加入如下代码:

'setting_my_new_avatar_old' => '如无法正常上传头像,请点此处切换为 Flash 方式上传',

4、css文件和js文件上传到指定的文件夹:

    在新版的static目录下找到avatar文件夹,然后上传到自己网站的static目录即可

    

5、修改后端PHP文件:

    文件位置:uc_server\control\user.php,在里面我们找到343行附近的onrectavatar方法,

    (1)、在@header("Pragma: no-cache");下面加入如下代码:

if(getgpc('base64', 'G')){
   header("Content-type: text/html; charset=utf-8");
}else{
   header("Content-type: application/xml; charset=utf-8");
}

    (2)、替换部分代码:

if($success) {
   return '<?xml version="1.0" ?><root><face success="1"/></root>';
} else {
   return '<?xml version="1.0" ?><root><face success="0"/></root>';
}

    替换为如下代码:

if(getgpc('base64', 'G')){
   if($success) {
      return "<script>window.parent.postMessage('success','*');</script>";
   } else {
      return "<script>window.parent.postMessage('failure','*');</script>";
   }
}else{
   if($success) {
      return '<?xml version="1.0" ?><root><face success="1"/></root>';
   } else {
      return '<?xml version="1.0" ?><root><face success="0"/></root>';
   }
}

    (3)、flashdata_decode方法内容替换为下面的:

$r = '';
if(getgpc('base64', 'G')){
   $r = base64_decode($s);
}else{
   $l = strlen($s);
   for($i=0; $i<$l; $i=$i+2) {
      $k1 = ord($s[$i]) - 48;
      $k1 -= $k1 > 9 ? 7 : 0;
      $k2 = ord($s[$i+1]) - 48;
      $k2 -= $k2 > 9 ? 7 : 0;
      $r .= chr($k1 << 4 | $k2);
   }
}
return $r;

6、测试:

    选择一张图片然后点击“确定”,如果提示如下界面,表示图片上传完成

    

    

以上就是吾爱编程为大家介绍的关于discuz头像上传flash改为h5上传的方法,了解更多相关文章请关注吾爱编程网!

欢迎分享转载→ discuz更新H5头像上传

© 2015-2019 - 吾爱编程网 版权所有 苏ICP备18033726号-1关于我们 - 网站声明 - 联系我们