改造typecho上传地址URL

2020-04-16 18:17:26 浏览数 (1)

前言

typecho附件上传我是一直看着难受 usr/uploads/2020/04/xxxxx.jpg 太长了于是我直接修改了上传部分 将其规范为 usr/uploads/xxxxx.jpg 这样来说好处是避免目录套目录看着舒服

修改方法

打开var/widget/upload.php 备份后替换uploadHandle函数 即可

代码

代码语言:javascript复制
 public static function uploadHandle($file)
      {
        if (empty($file['name'])) {
          return false;
        }

        $result = Typecho_Plugin::factory('Widget_Upload')->trigger($hasUploaded)->uploadHandle($file);
        if ($hasUploaded) {
          return $result;
        }

        $ext = self::getSafeName($file['name']);

        if (!self::checkFileType($ext) || Typecho_Common::isAppEngine()) {
          return false;
        }
        $path = Typecho_Common::url(defined('__TYPECHO_UPLOAD_DIR__') ? __TYPECHO_UPLOAD_DIR__ : self::UPLOAD_DIR,
        defined('__TYPECHO_UPLOAD_ROOT_DIR__') ? __TYPECHO_UPLOAD_ROOT_DIR__ : __TYPECHO_ROOT_DIR__);

        //创建上传目录
        if (!is_dir($path)) {
          if (!self::makeUploadDir($path)) {
            return false;
          }
        }

        //获取文件名
        if (isset($file['tmp_name'])) {
          $fileName = time(). '.' . $ext;
          $path = $path . '/' . $fileName;
          //移动上传文件
          if (!@move_uploaded_file($file['tmp_name'], $path)) {
            return false;
          }
        } else if (isset($file['bytes'])) {
          $fileName = time(). '.' . $ext;
          $path = $path . '/' . $fileName;
          //直接写入文件
          if (!file_put_contents($path, $file['bytes'])) {
            return false;
          }
        } else {
          return false;
        }
 return array(
        'name' => $file['name'],
        'path' => (defined('__TYPECHO_UPLOAD_DIR__') ? __TYPECHO_UPLOAD_DIR__ : self::UPLOAD_DIR) 
        . '/' . $fileName,
        'size' => $file['size'],
        'type' => $ext,
        'mime' => Typecho_Common::mimeContentType($path)
        );
      }

后言

以后我站图片就是这样啦 干净舒服 (解决了强迫症)

0 人点赞