业务经理

微信扫描以上二维码

028-61286886

技术咨询

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

迅睿框架 更新 2021-11-11 10:57:58 dqterry

PHP程序里面

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


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


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

方案

  • 迅睿框架技术-陈泽希 #1 · 2021-11-04 16:46:37


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

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

    或者直接重写这个方法,底部随机新名字那里自己做规则。
  • Jeffery #13 · 2021-11-04 17:42:45
    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 · 2021-11-05 10:23:05
    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 · 2021-11-05 16:08:41
    Jeffery 问题又来了,传上去正常的,保存后变成 http://127.0.0.4/uploadfile/thumb/182be0c5cdcd5072bb1864cdee4d3d6e/200x200_auto.jpg
    靠,又要接着改
  • Jeffery #16 · 2021-11-05 16:18:44
    dqterry 怎么可能,你动了哪些地方?目录不需要程序改,后台可以改。你再看下附件表 dr_attachment_data 里 attachment 字段存储的数据呢?


  • dqterry #17 · 2021-11-08 16:27:33
    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 · 2021-11-11 10:57:58
    dqterry 你这个是没问题的,你的附件名称 2111/0411311.jpg 是你修改之后的了。讯睿CMS上传的东西全在附件表里面,存入相应的文章表里就是该附件的id,比如你上面的缩略图thumb存值为1,前端调用时你要用一个方法:\Phpcmf\Service::C()->get_attachment($id)。参考:https://www.xunruicms.com/doc/710.html

迅睿系统漏洞

导入微信文章
导入微信文章(2026-09-15)
优化排版缺少文字情况
GEO系统
GEO系统(2026-09-15)
运营客户端,防止误触阴影处关闭对话框
独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...