闲言杂记

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

修改方法

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

代码

 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)
        );
      }

后言

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

Comment

  1. okfree okfree
    UC 12

    坏处就是找图片费劲。。。

    1. 乔千 乔千
      Chrome 80

      找之前的文章不就可以了

This is just a placeholder img.