注册 登录
北美生活网 返回首页

admin的个人空间 http://www.beimeilife.com/?1 [收藏] [复制] [分享] [RSS]

日志

UChome - 添加日志中上传附件功能(zip,rar,pdf,mp3,wav等格式)

已有 134 次阅读2015-5-19 04:51 |个人分类:管理日志|系统分类:日记随笔






具体实现步骤:
1、修改UCHOME目录如下文件
打开文件source/script_upload.js
找到:
  1. var extensions = 'jpg,jpeg,gif,png';
复制代码
修改为:
  1. var extensions = 'jpg,jpeg,gif,png,rar,zip';
复制代码
找到:
  1. attachexts[id] = inArray(ext, ['gif', 'jpg', 'jpeg', 'png']) ? 2 : 1;
复制代码
修改为:
  1. attachexts[id] = inArray(ext, ['gif', 'jpg', 'jpeg', 'png', 'rar', 'zip']) ? 2 : 1;
复制代码
2、打开文件source/function_cp.php
找到:
  1. //允许上传类型
  2. $allowpictype = array('jpg','jpeg','gif','png');
复制代码
修改为:
  1. //允许上传类型
  2. $allowpictype = array('jpg','jpeg','gif','png');
  3. $allowothertype=array('rar','zip');
复制代码
找到:
  1. //判断后缀
  2. $fileext = fileext($FILE['name']);
  3. if(!in_array($fileext, $allowpictype)) {
  4. return cplang('only_allows_upload_file_types');
  5. }
复制代码
修改为:
  1. //判断后缀
  2. $fileext = fileext($FILE['name']);
  3. if(!(in_array($fileext, $allowpictype)||in_array($fileext, $allowothertype))) {
  4. return cplang('only_allows_upload_file_types');
  5. }
复制代码
找到:
  1. //检查是否图片
  2. if(function_exists('getimagesize')) {
  3.   $tmp_imagesize = @getimagesize($new_name);
  4.   list($tmp_width, $tmp_height, $tmp_type) = (array)$tmp_imagesize;
  5.   $tmp_size = $tmp_width * $tmp_height;
  6.   if($tmp_size > 16777216 || $tmp_size < 4 || empty($tmp_type) || strpos($tmp_imagesize['mime'], 'flash') > 0) {
  7.   @unlink($new_name);
  8.   return cplang('only_allows_upload_file_types');
  9.   }
  10. }
复制代码
修改为:
  1.   //检查是否图片
  2.   if(function_exists('getimagesize')) {
  3.       $fileext = fileext($new_name);
  4.       if(in_array($fileext, $allowpictype)) {
  5.         $tmp_imagesize = @getimagesize($new_name);
  6.         list($tmp_width, $tmp_height, $tmp_type) = (array)$tmp_imagesize;
  7.         $tmp_size = $tmp_width * $tmp_height;
  8.         if($tmp_size > 16777216 || $tmp_size < 4 || empty($tmp_type) || strpos($tmp_imagesize['mime'], 'flash') > 0) {
  9.           @unlink($new_name);
  10.           return cplang('only_allows_upload_file_types');
  11.         }
  12.       }
  13.   }
复制代码
3、打开source/function_blog.php
找到:
  1. //未插入文章
  2. foreach ($uploads as $value) {
  3.   $picurl = pic_get($value['filepath'], $value['thumb'], $value['remote'], 0);
  4.   $message .= "<div class=\"uchome-message-pic\"><img src=\"$picurl\"><p>$value[title]</p></div>";
  5. }
复制代码
修改为:
  1. //未插入文章
  2. foreach ($uploads as $value) {
  3.   $picurl = pic_get($value['filepath'], $value['thumb'], $value['remote'], 0);
  4.   $fileext = fileext($picurl);
  5.   if(in_array($fileext, array('jpg','jpeg','gif','png'))){
  6.   $message .= "<div class=\"uchome-message-pic\"><img src=\"$picurl\"><p>$value[title]</p></div>";
  7.   }
  8.   else{
  9.   $message .= "<p><div><a href=\"$picurl\">$value[filename]</a> ($value[size] byte)</p></div>";
  10.   }
  11. }
复制代码
4、打开source/cp_thread.php
找到:
  1. //未插入文章
  2. foreach ($uploads as $value) {
  3.   $picurl = pic_get($value['filepath'], $value['thumb'], $value['remote'], 0);
  4.   $message .= "<div class=\"uchome-message-pic\"><img src=\"$picurl\"><p>$value[title]</p></div>";
  5. }
复制代码
修改为:
  1. //未插入文章
  2. foreach ($uploads as $value) {
  3.   $picurl = pic_get($value['filepath'], $value['thumb'], $value['remote'], 0);
  4.   $fileext = fileext($picurl);
  5.   if(in_array($fileext, array('jpg','jpeg','gif','png'))){
  6.   $message .= "<div class=\"uchome-message-pic\"><img src=\"$picurl\"><p>$value[title]</p></div>";
  7.   }
  8.   else{
  9.   $message .= "<p><div><a href=\"$picurl\">$value[filename]</a> ($value[size] byte)</p></div>";
  10.   }
  11. }
复制代码
5、通过以上即可实现rar、zip类型文件上传。如果上传时不修改存储相册,则默认存储在默认相册里,因为不是图片文件,浏览时不能显示缩略图,影响美观。为解决这个问题,建议在相册里面建一个“附件存储文件夹”,权限设为“仅自己可见”,这样上传时选定这个存储位置,就不会影响默认相册的图片预览效果,同时也不妨碍日志中附件的下载链接。
6、文件打包,有需要的可直接下载,FTP工具以二进制方式上传到UCHOME目录覆盖原文件即可。
source.rar (20.25 KB, 下载次数: 876)

高兴

感动

鲜花

漂亮

酷毙

握手

同情

搞笑

发表评论 评论 (1 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

返回顶部