DESTOON自定义上传图片

  2020-01-20    阅读:1286
 公司之前的项目打包给别人了,所以组织又给我一个新的系统,接手destoon系统,程序刚写完,现在让我去维护。
之前做这个项目的时候 ,我来改过前台的模板,当时,改的我晕乎乎。文件层级深,来回引用,幸好有强大的编辑器帮忙,不然真的浪费很多时间。废话不多说了,来看看,怎么给destoon加上自定义的图片上传吧。
 
案例:  我这里是以商家修改资料为例,填写资料时,必须上传企业资质图片。
             我这里的前台样式是修改过的,功能没怎么动,可以借鉴。
 
前台效果图:

 
准备:首先你要找到,你要修改的表,destoon_company 添加一个字段 thumb1 。
 
第一部分:前台的功能实现与显示。
 
第一步、【前台文件】 edit.html 在你需要添加图片的位置,加上下面的代码:
 
  1. <!-- 2015/11/27 添加上传证书 begin 高蒙-->
  2. <tbody id=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifTabs5http://www.qiyeyunshang.com/skin/gw/image/nopic.gif style=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifdisplay: none;http://www.qiyeyunshang.com/skin/gw/image/nopic.gif>
  3. <tr>
  4. <td class=http://www.qiyeyunshang.com/skin/gw/image/nopic.giftlhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif>上传证书副本:</td>
  5. <td colspan=http://www.qiyeyunshang.com/skin/gw/image/nopic.giftrhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif><input type=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifhiddenhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif name=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifpost[thumb1]http://www.qiyeyunshang.com/skin/gw/image/nopic.gif id=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifthumb1http://www.qiyeyunshang.com/skin/gw/image/nopic.gif value=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif{$thumb1}http://www.qiyeyunshang.com/skin/gw/image/nopic.gif/></td>
  6. </tr>
  7. <tr>
  8. <td class=http://www.qiyeyunshang.com/skin/gw/image/nopic.giftlhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif></td>
  9. <td class=http://www.qiyeyunshang.com/skin/gw/image/nopic.giftrhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif><img src=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif{if $thumb1}{$thumb1}{else}{DT_SKIN}image/waitpic.gif{/if}http://www.qiyeyunshang.com/skin/gw/image/nopic.gif width=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif100http://www.qiyeyunshang.com/skin/gw/image/nopic.gif height=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif100http://www.qiyeyunshang.com/skin/gw/image/nopic.gif id=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifshowthumb1http://www.qiyeyunshang.com/skin/gw/image/nopic.gif title=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif预览图片http://www.qiyeyunshang.com/skin/gw/image/nopic.gif alt=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif
  10. onclick=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifif(this.src.indexOf('waitpic.gif') == -1) {_preview(Dd('showthumb1').src, 1);}else{Dalbum(1,{$moduleid},600,450, Dd('thumb1').value, true);}http://www.qiyeyunshang.com/skin/gw/image/nopic.gif/></td>
  11. </tr>
  12. <tr>
  13. <td class=http://www.qiyeyunshang.com/skin/gw/image/nopic.giftlhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif></td>
  14. <td class=http://www.qiyeyunshang.com/skin/gw/image/nopic.giftrhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif><img src=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif{DT_STATIC}{$MODULE[2][moduledir]}/image/img_upload.gifhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif width=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif12http://www.qiyeyunshang.com/skin/gw/image/nopic.gif height=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif12http://www.qiyeyunshang.com/skin/gw/image/nopic.gif title=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif上传http://www.qiyeyunshang.com/skin/gw/image/nopic.gif
  15. onclick=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifDalbum(1,{$moduleid},600,450, Dd('thumb1').value, true);http://www.qiyeyunshang.com/skin/gw/image/nopic.gif/>&nbsp;&nbsp;
  16. <img src=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif{DT_STATIC}{$MODULE[2][moduledir]}/image/img_select.gifhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif width=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif12http://www.qiyeyunshang.com/skin/gw/image/nopic.gif height=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif12http://www.qiyeyunshang.com/skin/gw/image/nopic.gif title=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif选择http://www.qiyeyunshang.com/skin/gw/image/nopic.gif onclick=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifselAlbum(1);http://www.qiyeyunshang.com/skin/gw/image/nopic.gif/>&nbsp;&nbsp;
  17. <img src=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif{DT_STATIC}{$MODULE[2][moduledir]}/image/img_delete.gifhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif width=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif12http://www.qiyeyunshang.com/skin/gw/image/nopic.gif height=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif12http://www.qiyeyunshang.com/skin/gw/image/nopic.gif title=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif删除http://www.qiyeyunshang.com/skin/gw/image/nopic.gif onclick=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifdelAlbum(1,'wait');http://www.qiyeyunshang.com/skin/gw/image/nopic.gif/></td>
  18. </tr>
  19. </tbody>
  20. <!-- 2015 11 27 添加上传证书 end-->
 
第二步、edit.inc.php 这是会员资料修改的处理文件 其中注意的代码是第50行左右如下:
 
  1. 文件路径 /module/member/edit.inc.php
  2.  
  3.  
  4. if($do->edit($post)) {
 
其中的 edit() 方法就是控制表单的上传和修改的,通过追踪代码,我们发现它继承的是member.class.php,那
我们就来看看这个类。
 
 
第三步、member.class.php的类文件。
 
一、通过找代码,我们找到380行的 edit()方法。在此方法里面,set_member()是控制用户修改资料的。由于我
们是新加的功能 所以,我们尽量的不修改它的代码,避免意想不到的错误,所以我们就复制其中的方法,改成自己的名字set_member_g()。
 
  1. 文件路径 /module/member/member.class.php
 
  1. function edit($member) {
  2. if(!$this->is_member($member)) return false;
  3. $member = $this->set_member_g($member); // 将原来的set_member() 修改为 set_member_g()
  4.  
  5.  
  1. // 新加的方法 2015/11/30 boom
  2.  
  3. function set_member_g($member) {
  4. global $MOD;
  5. $member['email'] = trim($member['email']);
  6. $member['mail'] = isset($member['mail']) ? trim($member['mail']) : '';
  7. is_email($member['mail']) or $member['mail'] = '';
  8. $member['msn'] = isset($member['msn']) ? trim($member['msn']) : '';
  9. is_email($member['msn']) or $member['msn'] = '';
  10. $member['qq'] = isset($member['qq']) ? trim($member['qq']) : '';
  11. is_numeric($member['qq']) or $member['qq'] = '';
  12. $member['ali'] = isset($member['ali']) ? trim($member['ali']) : '';
  13. if(!$this->is_clean($member['ali'])) $member['ali'] = '';
  14. $member['skype'] = isset($member['skype']) ? trim($member['skype']) : '';
  15. if(!$this->is_clean($member['skype'])) $member['skype'] = '';
  16. $member['address'] = isset($member['address']) ? trim($member['address']) : '';
  17. if(!$this->is_clean($member['address'])) $member['address'] = '';
  18. $member['postcode'] = isset($member['postcode']) ? trim($member['postcode']) : '';
  19. is_numeric($member['postcode']) or $member['postcode'] = '';
  20. $member['mode'] = (isset($member['mode']) && is_array($member['mode']) && $member['mode'])
  21. ? implode(',', $member['mode']) : '';
  22. $member['keyword'] = $member['company'];
  23. $member['homepage'] = isset($member['homepage']) ? fix_link($member['homepage']) : '';
  24. $member['capital'] = isset($member['capital']) ? dround($member['capital']) : '';
  25. $member['sound'] = intval($member['sound']);
  26. if($this->userid) {
  27. $member['keyword'] = $member['company'].strip_tags(area_pos($member['areaid'],
  28. ',')).','.$member['business'].','.$member['sell'].','.$member['buy'].','.$member['mode'];
  29. clear_upload_g($member['thumb'].$member['introduce'], $this->userid);
  30. $new = $member['introduce'];
  31. if($member['thumb']) $new .= '<img src=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif'.$member['thumb'].'http://www.qiyeyunshang.com/skin/gw/image/nopic.gif>';
  32. $content_table = content_table(4, $this->userid, is_file(DT_CACHE.'/4.part'),$this->table_company_data);
  33. $r = $this->db->get_one(http://www.qiyeyunshang.com/skin/gw/image/nopic.gifSELECT content FROM {$content_table} WHERe userid=$this->useridhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif);
  34. $old = $r['content'];
  35. $r = $this->get_one();
  36. if($r['thumb']) $old .= '<img src=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif'.$r['thumb'].'http://www.qiyeyunshang.com/skin/gw/image/nopic.gif>';
  37. delete_diff($new, $old);
  38. } else {
  39. if($member['thumb']) clear_upload($member['thumb'].$member['introduce']);
  40. }
  41. $member['content'] = $member['introduce'];
  42. $member['introduce'] = addslashes(get_intro($member['content'], $MOD['introduce_length']));
  43. if(!defined('DT_ADMIN')) {
  44. $content = $member['content'];
  45. unset($member['content']);
  46. $member = dhtmlspecialchars($member);
  47. $member['content'] = dsafe($content);
  48. }
  49. if($MOD['introduce_clear'] || $MOD['introduce_save']) {
  50. $member['content'] = stripslashes($member['content']);
  51. $member['content'] = save_local($member['content']);
  52. if($MOD['introduce_clear']) $member['content'] = clear_link($member['content']);
  53. if($MOD['introduce_save']) $member['content'] = save_remote($member['content']);
  54. $member['content'] = addslashes($member['content']);
  55. }
  56. if($member['catid']) {
  57. $catids = explode(',', substr($member['catid'], 1, -1));
  58. $cids = '';
  59. foreach($catids as $catid) {
  60. $C = get_cat($catid);
  61. if($C) {
  62. $catid = $C['parentid'] ? $C['arrparentid'].','.$catid : $catid;
  63. $cids .= $catid.',';
  64. }
  65. }
  66. $cids = array_unique(explode(',', substr(str_replace(',0,', ',', ','.$cids), 1, -1)));
  67. $member['catids'] = ','.implode(',', $cids).',';
  68. }
  69. return $member;
  70. }
  71. //end
 
二、在上面的方法中,我们又引用到了clear_upload()的方法,所以,同样的道理,找到这个函数并且复制此函数,改为自己的名字clear_upload_g。
 
  1. 路径:/include/post.func.php
  2.  
  3.  
  4. function clear_upload_g($content = '', $itemid = 0) {
  5. global $DT, $db, $session, $_userid;
  6. if(!is_object($session)) $session = new dsession();
  7. if(!isset($_SESSION['uploads']) || !$_SESSION['uploads'] || !$content) return;
  8. $update = array();
  9. foreach($_SESSION['uploads'] as $file) {
  10. if(strpos($content, $file) === false) {
  11. //delete_upload($file, $_userid); 注释掉此行代码
  12. } else {
  13. if($DT['uploadlog'] && $itemid) $update[] = http://www.qiyeyunshang.com/skin/gw/image/nopic.gif'http://www.qiyeyunshang.com/skin/gw/image/nopic.gif.md5($file).http://www.qiyeyunshang.com/skin/gw/image/nopic.gif'http://www.qiyeyunshang.com/skin/gw/image/nopic.gif;
  14. }
  15. }
  16. if($update) $db->query(http://www.qiyeyunshang.com/skin/gw/image/nopic.gifUPDATE {$db->pre}upload_http://www.qiyeyunshang.com/skin/gw/image/nopic.gif.($_userid%10).http://www.qiyeyunshang.com/skin/gw/image/nopic.gif SET itemid=$itemid WHERe item IN (http://www.qiyeyunshang.com/skin/gw/image/nopic.gif.implode(',', $update).http://www.qiyeyunshang.com/skin/gw/image/nopic.gif)http://www.qiyeyunshang.com/skin/gw/image/nopic.gif);
  17. $_SESSION['uploads'] = array();
  18. }
 
第二部分:后台管理的管理与查看
 
后台实现的效果:
 

 
一、找到修改会员资料的文件,添加上我们添加的企业资质的图片。
 
  1. 文件地址:/module/member/admin/template/member_edit.tpl.php
添加的代码:
 
  1. <tr>
  2. <td class=http://www.qiyeyunshang.com/skin/gw/image/nopic.giftlhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif>上传证书副本:</td>
  3. <td colspan=http://www.qiyeyunshang.com/skin/gw/image/nopic.giftrhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif>
  4. <?php if($thumb1 != http://www.qiyeyunshang.com/skin/gw/image/nopic.gifhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif){ ?>
  5. <input type=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifhiddenhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gif name=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifmember[thumb1]http://www.qiyeyunshang.com/skin/gw/image/nopic.gif id=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifthumb1http://www.qiyeyunshang.com/skin/gw/image/nopic.gif value=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif<?php echo $thumb1;?>http://www.qiyeyunshang.com/skin/gw/image/nopic.gif/>
  6. <img src=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif<?php echo $thumb1;?>http://www.qiyeyunshang.com/skin/gw/image/nopic.gif width=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif100http://www.qiyeyunshang.com/skin/gw/image/nopic.gif height=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif100http://www.qiyeyunshang.com/skin/gw/image/nopic.gif id=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifshowthumb1http://www.qiyeyunshang.com/skin/gw/image/nopic.gif title=http://www.qiyeyunshang.com/skin/gw/image/nopic.gif预览图片http://www.qiyeyunshang.com/skin/gw/image/nopic.gif
  7. alt=http://www.qiyeyunshang.com/skin/gw/image/nopic.gifhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gifhttp://www.qiyeyunshang.com/skin/gw/image/nopic.gifif(this.src.indexOf('waitpic.gif') == -1){_preview(Dd('showthumb1').src, 1);}
  8. else{Dalbum(1,2,600,450, Dd('thumb1').value, true);}http://www.qiyeyunshang.com/skin/gw/image/nopic.gif/></td>
  9. <?php }else{ ?>
  10. 该用户没有上传企业资质!
  11. <?php }?>
  12. </tr>
 
到此,按照上面的几个步骤,轻松的就实现了destoon自定义上传图片,想哪里上传图片,就在哪里上传图。

免责声明:
本站部份内容系网友自发上传与转载,不代表本网赞同其观点;
如涉及内容、版权等问题,请在30日内联系,我们将在第一时间删除内容!

相关Destoon技术

(c)2012-2023 www.qiyeyunshang.com All Rights Reserved.
慧一科技destoon模板   辽ICP备2021002520号-1
  QQ咨询

购买模板 售前咨询

  咨询QQ

3292628658
(早8:30-晚10:00)

  微信咨询

咨询微信
客服微信

  返回顶部