文章查看

当前位置 :主页 > 文艺 >
[求助] 帮忙看下3.2上传文件怎么二次修改
* 来源 :http://www.epilhour.com * 发表时间 : 2018-03-25 19:18 * 浏览 :
我想把附件文件命名规则改一下的,方便在服务器上查找整理。
                        $filename = date('His').strtolower(random(16));
我想改成                $filename = 原文件名.strtolower(random(16));
下面是整个网页的代码,高手来看下的吧。


<?php

/**
*      [Discuz!] (C)2001-2099 Comsenz Inc.
*      This is NOT a freeware, use is subject to license terms
*
*      $Id: discuz_upload.php 34648 2014-06-18 02:53:07Z hypowang $
*/

if(!defined('IN_DISCUZ'))
        exit('Access Denied');



Class discuz_upload{

        var $attach = array();
        var $type = '';
        var $extid = 0;
        var $errorcode = 0;
        var $forcename = '';

        public function __construct()

       

        function init($attach, $type = 'temp', $extid = 0, $forcename = '')

                if(!is_array($attach)

        function save($ignore = 0) empty($this->attach['target']))
                        $this->errorcode = -101;
                elseif(in_array($this->type, array('group', 'album', 'category')) && !$this->attach['isimage'])
                        $this->errorcode = -102;
                elseif(in_array($this->type, array('common')) && (!$this->attach['isimage'] && $this->attach['ext'] != 'ext'))
                        $this->errorcode = -102;
                elseif(!$this->save_to_local($this->attach['tmp_name'], $this->attach['target']))
                        $this->errorcode = -103;
                elseif(($this->attach['isimage']

        function error()
                return $this->errorcode;
       

        function errormessage()
                return lang('error', 'file_upload_error_'.$this->errorcode);
       

        function fileext($filename)
                return addslashes(strtolower(substr(strrchr($filename, '.'), 1, 10)));
       

        function is_image_ext($ext)
                static $imgext  = array('jpg', 'jpeg', 'gif', 'png', 'bmp');
                return in_array($ext, $imgext) ? 1 : 0;
       

        function get_image_info($target, $allowswf = false)
                $ext = discuz_upload::fileext($target);
                $isimage = discuz_upload::is_image_ext($ext);
                if(!$isimage && ($ext != 'swf'

 ,990990藏宝阁;       function is_upload_file($source)
                return $source && ($source != 'none') && (is_uploaded_file($source)

        function get_target_filename($type, $extid = 0, $forcename = '')
         ,香港大众网精选资料;       if($type == 'group'

        function get_target_extension($ext)
                static $safeext  = array('attach', 'jpg', 'jpeg', 'gif', 'png', 'swf', 'bmp', 'txt', 'zip', 'rar', 'mp3');
                return strtolower(!in_array(strtolower($ext), $safeext) ? 'attach' : $ext);
       

        function get_target_dir($type, $extid = '', $check_exists = true) $type == 'forum'

        function check_dir_type($type)
                return !in_array($type, array('forum', 'group', 'album', 'portal', 'common', 'temp', 'category', 'profile')) ? 'temp' : $type;
       

        function check_dir_exists($type = '', $sub1 = '', $sub2 = '')

                $type = discuz_upload::check_dir_type($type);

                $basedir = !getglobal('setting/attachdir') ? (DISCUZ_ROOT.'./data/attachment') : getglobal('setting/attachdir');

                $typedir = $type ? ($basedir.'/'.$type) : '';
                $subdir1  = $type && $sub1 !== '' ?  ($typedir.'/'.$sub1) : '';
                $subdir2  = $sub1 && $sub2 !== '' ?  ($subdir1.'/'.$sub2) : '';

                $res = $subdir2 ? is_dir($subdir2) : ($subdir1 ? is_dir($subdir1) : is_dir($typedir));
                if(!$res)
                        $res = $typedir && discuz_upload::make_dir($typedir);
                        $res && $subdir1 && ($res = discuz_upload::make_dir($subdir1));
                        $res && $subdir1 && $subdir2 && ($res = discuz_upload::make_dir($subdir2));
               

                return $res;
       

        function save_to_local($source, $target)
                if(!discuz_upload::is_upload_file($source))
                        $succeed = false;
               elseif(@copy($source, $target))
                        $succeed = true;
               elseif(function_exists('move_uploaded_file') && @move_uploaded_file($source, $target))
                        $succeed = true;
               elseif (@is_readable($source) && (@$fp_s = fopen($source, 'rb')) && (@$fp_t = fopen($target, 'wb')))
                        while (!feof($fp_s))
                                $s = @fread($fp_s, 1024 * 512);
                                @fwrite($fp_t, $s);
                       
                        fclose($fp_s); fclose($fp_t);
                        $succeed = true;
               
                if($succeed)  
                        $this->errorcode = 0;
                        @chmod($target, 0644); @unlink($source);
                else
                        $this->errorcode = 0;
               

                return $succeed;
       

        function make_dir($dir, $index = true)
                $res = true;
                if(!is_dir($dir))
                        $res = @mkdir($dir, 0777);
                        $index && @touch($dir.'/index.html');
               
                return $res;
       
}

?>

上一篇:经济日报-中国经济网北京3月17日讯(记 下一篇:没有了