联系官方销售客服

1835022288

028-61286886

开发框架 版主:迅睿框架研发组
全站都是绝对链接,请问如何可以改成相对链接?
类型:迅睿CMS 更新时间:2021-11-11 10:57:58 配置文件

PHP程序里面

请问下,文章上传了缩略图后,地址是这样的 http://127.0.0.4/uploads/202111/bb5dc625d86a9a6.jpg


中间目录已经修改过了,图片名称太长了,未找到修改名称的配置文件,请告知,


另外全站都是全站链接,请问如何可以改成相对链接?

回帖
  • 迅睿框架技术-陈泽希
    #1楼    迅睿框架技术-陈泽希
    2021-11-04 16:46:37
    Chrome 0


    这里可以改
  • dqterry
    #2楼    dqterry
    2021-11-04 16:48:22
    Firefox 93.0 0
    迅睿框架技术-陈泽希 这里只能修改,上传的目录名称,我现在需要修改的是,图片名称 2Fbb5dc625d86a9a6.jpg,这个太长了,怎么修改呢
  • 迅睿框架技术-陈泽希
    #3楼    迅睿框架技术-陈泽希
    2021-11-04 16:49:25
    Chrome 0
    命名不能修改了,随机的字符
  • dqterry
    #4楼    dqterry
    2021-11-04 16:49:37
    Firefox 93.0 0

    迅睿框架技术-陈泽希 编辑器上传的图片,我已经修改好了,但是缩略的还是不行
  • dqterry
    #5楼    dqterry
    2021-11-04 16:51:37
    Firefox 93.0 0
    迅睿框架技术-陈泽希 这个名字太长了,没有配置文件能修改嘛?
  • 迅睿框架技术-陈泽希
    #6楼    迅睿框架技术-陈泽希
    2021-11-04 16:54:59
    Chrome 0
    命名不能修改了,随机的字符
  • Jeffery
    #7楼    Jeffery
    2021-11-04 17:08:32
    Chrome 0
    dqterry 可以重写下Upload类
  • dqterry
    #8楼    dqterry
    2021-11-04 17:11:57
    Firefox 93.0 0
    Jeffery 原理是这样的,就是没找到配置文件
  • Jeffery
    #9楼    Jeffery
    2021-11-04 17:14:01
    Chrome 0
    dqterry 官方技术都说了命名不能修改,应该是直接写死了,不能配置修改。那就只有自己把Upload.php里面命名那段复制出来重写了
  • dqterry
    #10楼    dqterry
    2021-11-04 17:15:55
    Firefox 93.0 0
    Jeffery 应该是段PHP或者JS代码控制的,之前的dede也是找了好久,还是能改的。
  • Jeffery
    #11楼    Jeffery
    2021-11-04 17:20:09
    Chrome 0
    dqterry 嗯嗯,找到整个过程的逻辑代码就有办法了
  • Jeffery
    #12楼    Jeffery
    2021-11-04 17:26:20
    Chrome 0
    dqterry 你用的upload_file吗?试下加下save_name这个参数呢。

    或者直接重写这个方法,底部随机新名字那里自己做规则。
  • Jeffery
    #13楼    Jeffery
    2021-11-04 17:42:45
    Chrome 0
    dqterry 按照这个操作,重写Upload类。https://www.xunruicms.com/doc/1098.html把这个方法复制进去
    /**
    * 随机存储的文件路径
    */
    protected function _rand_save_file_path($config, $file_ext, $file) {

    修改下面的最后数字为你想要的长度就行了
    // 随机新名字
    !$name && $name = substr(md5(SYS_TIME.(is_array($file) ? dr_array2string($file) : $file).uniqid()), rand(0, 20), 8);

    能满足你的需求。
  • dqterry
    #14楼    dqterry
    2021-11-05 10:23:05
    Firefox 93.0 0
    Jeffery 对的,已经完成了
    // 随机新名字
    !$name && $name = substr(md5(SYS_TIME.(is_array($file) ? dr_array2string($file) : $file).uniqid()), rand(0, 20), 10);
    修改成:
    !$name && $name=date('h', SYS_TIME).date('m', SYS_TIME).date('s', SYS_TIME).rand(0,9);
    修改目录的地址:
    // 默认目录格式
    $path = date('Ym', SYS_TIME).'/';  修改   $path = date('ym', SYS_TIME).'/';
    修改后,缩略图地址变成了 /uploads/2111/1011465.jpg,看起来舒服多了,下一个来研究,怎么把绝对链接删掉,网页端用base标签就可以了,没必要所有路径都用绝对链接
  • dqterry
    #15楼    dqterry
    2021-11-05 16:08:41
    Firefox 93.0 0
    Jeffery 问题又来了,传上去正常的,保存后变成 http://127.0.0.4/uploadfile/thumb/182be0c5cdcd5072bb1864cdee4d3d6e/200x200_auto.jpg
    靠,又要接着改
  • Jeffery
    #16楼    Jeffery
    2021-11-05 16:18:44
    Chrome 0
    dqterry 怎么可能,你动了哪些地方?目录不需要程序改,后台可以改。你再看下附件表 dr_attachment_data 里 attachment 字段存储的数据呢?


  • dqterry
    #17楼    dqterry
    2021-11-08 16:27:33
    Firefox 94.0 0
    Jeffery 太神奇了,搞不懂。上传完后,后台缩略图显示的地址是:/uploads/2111/0411311.jpg,前端显示的却是 /static/assets/images/nopic.gif,显示 No image没有缩略图的显示数据表sz_1_article,thumb显示1, id 297之前是dede倒过来的数据


    数据表 sz_attachment

    数据表sz_attachment_data

    修改的地方:
    1. 后台 图片目录换成了 /uploads
    2. 缩略图的名称规则 换成了 !$name && $name=date('h', SYS_TIME).date('m', SYS_TIME).date('s', SYS_TIME).rand(0,9);
    其它相关没动过
  • Jeffery
    #18楼    Jeffery
    2021-11-11 10:57:58
    Chrome 0
    dqterry 你这个是没问题的,你的附件名称 2111/0411311.jpg 是你修改之后的了。讯睿CMS上传的东西全在附件表里面,存入相应的文章表里就是该附件的id,比如你上面的缩略图thumb存值为1,前端调用时你要用一个方法:\Phpcmf\Service::C()->get_attachment($id)。参考:https://www.xunruicms.com/doc/710.html