云梦编程网

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

discuz更新H5头像上传

作者:佚名 时间:2023-11-22 09:28:22 阅读:(10)

随着浏览器的不断更新对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更新H5头像上传

    

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

最新文章

热门文章