返回列表 回复 发帖

外挂了HTML5插件去替代FLASH上传组件,恢复了头像的上传功能

: {( Q$ ?1 ?0 D* ^
FLASH最终还是没能跟上时代的步伐,被各大浏览器抛弃,我们这老破旧论坛连头像也上传不了,9 \& _' P, K* h' l
花了一个星期反编译了Discuz7.2的FLASH头像上传逻辑,
& [6 P2 Y3 h" ?: r外挂了一个HTML5的插件去替代原来的FLASH,终于恢复了头像的上传,# V" Q: ?& D$ p# T. p
虽然界面上还有些粗糙,但起嘛能用了,6 d6 ]6 z3 x. L* q& g6 f
如果各位发现头像上传有什么问题可以跟帖留言,
0 R( v! s$ b8 |$ ?; _我再优化一下
! K3 f  z. ]( O# k6 m+ z0 X% N. B0 q: f- q; Y
1 q9 ?8 ?: e) [# c+ Y( L. S; ?
) i( q) z" U' K( Z4 `7 r1 O" g0 _% j
DZ7.2 HTML5 头像插件 v1.0  2026-05-05 浪) l4 ^4 _* z! l4 C" s% a, n: y  g
==============================) O% e, E! b4 u% g* l* }% N

" F7 C# G% s# Q; P【适用环境】
; V4 C# J; S4 K4 c- Discuz! 7.2 UTF-8
% j$ v3 J$ |, G. n. \0 H3 k- UCenter 1.55 Q9 c. D7 g5 o) ?5 g8 ], m
- PHP 5.6+ k( J$ a+ Z8 y

8 O- T8 ]5 x+ u. `) Q0 E' Q! g, F【安装方法】
. s5 I: M2 b# q% E; q0 y) V0 f, b; ~$ ]1. 将 upload 目录下的文件,按路径覆盖到你网站根目录
" i' d* G- T0 i1 V$ k/ g9 X0 T# b
# [# R) c3 E& J* P$ ?+ d2. 特别注意:, r7 g* H0 |- T: u( M3 q9 `
   本修改仅限使用默认模板,路径为:/templates/default/memcp_profile.htm; Q, p, d0 h9 Q6 A" S; H
   (如果你使用了其它模板,请自行替换文件标注部分代码。)
- Q2 H- K4 |- r0 q. g- Z- ~
% p; L' e0 `( z  g1 E& R2 R3. 确保目录权限:
: N+ R  S# H* L2 R6 @   chmod -R 755 uc_server/data/avatar) P& F9 F) m: m' x" t
. Z5 Z' {3 l- J. n1 Z
4. 进入:! b" P1 A- Z# Q0 e; I- M6 m) |3 P
   个人中心 → 个人资料 → 头像- U  J- y4 ]8 S0 `8 f2 q; a
   即可使用 HTML5 上传
# s9 `2 ]# v. y: g+ v
! t( d* K6 m$ Y$ ]3 N【说明】9 m* P7 r2 i0 Q6 D! d, \8 l5 x) e
- 会直接替换 Flash 头像入口. b5 P' [3 I! f
- 无需安装、无需后台开启+ `% b4 J7 e( X4 N4 l4 U- o* R
- 不影响 UCenter 原有逻辑; S/ o; [) X4 E) g9 c) Y8 ^
- 仅新增一个htnl5上传组件
  d9 f. u/ Y- F9 G$ V6 ~, [& h. a/ F' Y2 F" P2 E& H2 w
& D0 ?  D7 r, }2 C; O
附件: 您需要登录才可以下载或查看附件。没有帐号?注册 可享更多功能

有意应聘版主的请发站内信给我!爱我家乡:〓 荔乡根子镇 〓 http://www.525247.net
打包放这留档,免得自己哪天老人痴呆忘记了
附件: 您需要登录才可以下载或查看附件。没有帐号?注册 可享更多功能

有意应聘版主的请发站内信给我!爱我家乡:〓 荔乡根子镇 〓 http://www.525247.net
更新V1.1版本,增加图片裁剪功能
附件: 您需要登录才可以下载或查看附件。没有帐号?注册 可享更多功能

修改帖子标题80字符限制,改为120字符!

  1. dz7.2在发新帖的时候 ,新话题标题默认为80字字符,这就可能无法满足一些朋友的需求。我这里有一个办法可以解决,但是通过修改以后,标题字数最多为80个字。其中一个汉字算一个字,一个字母也算一个字,一个数字也算一个字。

  2. 要修改的文件有:
  3. 1、include\post.func.php  中有一处  
  4. if(strlen($subject) > 80) {

  5. 2、include\js\post.js         中有两处   
  6. } else if(mb_strlen(theform.subject.value) > 80) {   
  7.   和           
  8. showDialog('您的标题超过 80 个字符的限制。');

  9. 3、include\js\viewthread.js 有两处
  10. } else if(mb_strlen(theform.subject.value) > 80) {

  11. s = '您的标题超过 80 个字符的限制

  12. 4、modcp\editpost.inc.php    中有一处
  13. if(strlen($subjectnew) > 80) {

  14. 5,数据库执行sql语句:
  15. ALTER TABLE `cdb_posts` CHANGE `subject` `subject` char(120) NOT NULL;,

  16. 将以上的 80 改为 较大的数字(比如120)即可!然后更新缓存!
复制代码
中国个人业余无线电台:BI7ILX
APRS守候频率:144.6400MHz
手机:妖山寺,山爱妖爱,齐齐凌扒

修改discuzcode.func.php里面的多媒体相关代码为HTML5控件方案

禁用原BBcode [flash]
! j2 t! z% i) V) E8 E% W& y
  1. if($allowmediacode && strpos($msglower, '[/flash]') !== FALSE) {        $message = preg_replace("/\[flash\]\s*([^\[\<\r\n]+?)\s*\[\/flash\]/is",                "<script type=\"text/javascript\" reload=\"1\">document.write(AC_FL_RunContent(...));</script>",                $message);}
复制代码

* i% y& w$ d0 r改成直接显示链接地址:& y7 b6 F  ]. ?, e; L; f
  1. if($allowmediacode && strpos($msglower, '[/flash]') !== FALSE) {
  2.         $message = preg_replace(
  3.                 "/\[flash\]\s*([^\[\<\r\n]+?)\s*\[\/flash\]/is",
  4.                 '<a href="$1" target="_blank" rel="noopener noreferrer">$1</a>',
  5.                 $message
  6.         );
  7. }
复制代码
# I% n! _0 X! {+ x2 b$ a/ O
, s2 b0 a& f. H) L/ K# E, j. Q7 h
顺便禁用 [swf]:1 \0 H: t% g& ^: s: b: c$ J
  1. if($parsetype != 1 && strpos($msglower, '[swf]') !== FALSE) {
  2.         $message = preg_replace("/\[swf\]\s*([^\[\<\r\n]+?)\s*\[\/swf\]/ies",
  3.                 "bbcodeurl('\\1', ' <img src=\"images/attachicons/flash.gif\" ... Flash: %s</a> ')",
  4.                 $message);
  5. }
复制代码
4 I9 k. N, P$ |; A4 J. {- s
替换为链接:
( E0 l4 `0 H; i7 A  F, l) L) R8 S
  1. if($parsetype != 1 && strpos($msglower, '[swf]') !== FALSE) {
  2.         $message = preg_replace(
  3.                 "/\[swf\]\s*([^\[\<\r\n]+?)\s*\[\/swf\]/ies",
  4.                 "'<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>'",
  5.                 $message
  6.         );
  7. }
复制代码

% t! U! U& a7 ^" Z- z4 B+ f, Y5 T1 e
" f- N8 U& k' o( L原代码 parseaudio()(MP3音频等):
  1. function parseaudio($url, $width = 400, $autostart = 0) {
  2.         ...
  3.         <object classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6">
  4.         ...
  5. }
复制代码
✅ 换成 HTML5
  1. function parseaudio($url, $width = 400, $autostart = 0) {
  2.         $url = str_replace('\\"', '"', $url);
  3.         return '<audio controls style="width:100%;max-width:'.$width.'px;border-radius:6px;" src="'.$url.'"></audio>';
  4. }
复制代码
原FALSH多媒体代码:
  1. function parsemedia($params, $url) {
  2.         ...
  3.         AC_FL_RunContent(...)
  4. }
复制代码
✅ 改成 HTML5 优先:
  1. function parsemedia($params, $url) {
  2.         $params = explode(',', $params);
  3.         $width  = isset($params[1]) ? min(intval($params[1]), 800) : 400;
  4.         $height = isset($params[2]) ? min(intval($params[2]), 600) : 300;
  5.         $url = str_replace(array('<', '>'), '', str_replace('\\"', '"', $url));

  6.         $ext = strtolower(substr(strrchr($url, '.'), 1, 5));

  7.         if(in_array($ext, array('mp3','wav','ogg'))) {
  8.                 return '<audio controls style="width:100%;max-width:'.$width.'px;">'.
  9.                        '<source src="'.$url.'" type="audio/mpeg"></audio>';
  10.         }
  11.         if(in_array($ext, array('mp4','webm'))) {
  12.                 return '<video controls style="width:100%;max-width:'.$width.'px;">'.
  13.                        '<source src="'.$url.'" type="video/mp4"></video>';
  14.         }
  15.         // 其他一律当链接
  16.         return '<a href="'.$url.'" target="_blank" rel="noopener noreferrer">'.$url.'</a>';
  17. }
复制代码
中国个人业余无线电台:BI7ILX
APRS守候频率:144.6400MHz
手机:妖山寺,山爱妖爱,齐齐凌扒
Discuz 7.2 所有视频 / 音频都在用 Flash(ActiveX / AC_FL_RunContent)作为媒介播放。
中国个人业余无线电台:BI7ILX
APRS守候频率:144.6400MHz
手机:妖山寺,山爱妖爱,齐齐凌扒
返回列表
高级模式 | 发新话题
B Color Image Link Quote Code Smilies
换一个