Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑难] 《求助》UChome - 添加日志中上传附件功能(zip,rar等格式)

[复制链接]
lishiminv 发表于 2009-8-26 15:11:43 | 显示全部楼层
感谢 16BOX
给了我们启发。修改试试看。
回复

使用道具 举报

lishiminv 发表于 2009-8-26 15:12:36 | 显示全部楼层
感谢 16BOX
给了我们启发。修改试试看。
回复

使用道具 举报

lishiminv 发表于 2009-8-26 15:58:27 | 显示全部楼层
2.0版本没用。
回复

使用道具 举报

虚拟时空 发表于 2009-8-27 11:23:15 | 显示全部楼层
支持官方出这个功能
回复

使用道具 举报

强子arp 发表于 2009-8-27 14:06:47 | 显示全部楼层
帮你顶~~~

七号楼,http://qihaolou.com
回复

使用道具 举报

wenlua 发表于 2009-9-11 21:00:29 | 显示全部楼层
2.0uchome 取消文件类型上传限制很简单,问题是上传的文件会被识别成图片,倒是问题。。。。

修改 function_cp.php          $allowpictype = array('jpg','jpeg','gif','png','zip','rar');

        注释掉 /*if(function_exists('getimagesize')) {
                $tmp_imagesize = @getimagesize($new_name);
                list($tmp_width, $tmp_height, $tmp_type) = (array)$tmp_imagesize;
                $tmp_size = $tmp_width * $tmp_height;
                if($tmp_size > 16777216 || $tmp_size < 4 || empty($tmp_type) || strpos($tmp_imagesize['mime'], 'flash') > 0) {
                        @unlink($new_name);
                        return cplang('12345678');
                }
        }*/
        注释掉 if($_SCONFIG['allowftp']) {
                include_once(S_ROOT.'./source/function_ftp.php');
                if(ftpupload($new_name, $filepath)) {
                        $pic_remote = 1;
                        $album_picflag = 2;
                } else {
                        @unlink($new_name);
                        @unlink($new_name.'.thumb.jpg');
                        runlog('ftp', 'Ftp Upload '.$new_name.' failed.');
                        return cplang('ftp_upload_file_size');
                }
        } else {
                $pic_remote = 0;
                $album_picflag = 1;
        }

script_upload.js 里面的

var extensions = 'jpg,jpeg,gif,png','rar','zip';

attachexts[id] = inArray(ext, ['gif', 'jpg', 'jpeg', 'png','rar','zip']) ? 2 : 1;
回复

使用道具 举报

17cha8 发表于 2009-9-14 18:36:15 | 显示全部楼层
都试了,没有可以用的,呵呵。
回复

使用道具 举报

wisdom_wei 发表于 2009-10-7 23:25:22 | 显示全部楼层
UCHome插件
语言编码     UTF-8
版权所属     -
支持网站     -
插件名称     UChome - 添加日志中上传附件功能(zip,rar格式)
插件作者     WISDOM_WEI
适用版本     UCenter_Home_2.0_SC_UTF8

具体实现步骤:
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目录覆盖原文件即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-18 14:56 , Processed in 0.032283 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表