迅睿CMS框架是一款PHP8高性能·簡單易用的CMS開源開發框架,基于MIT開源許可協議發布,免費且不限制商業使用,是免費開源的產品,以萬端互聯為設計理念,支持的微信公眾號、小程序、APP客戶端、移動端網站、PC網站等多終端式管理系統。
聯系官方銷售客服
1835022288
028-61286886
PHP程序里面
請問下,文章上傳了縮略圖后,地址是這樣的 http://127.0.0.4/uploads/202111/bb5dc625d86a9a6.jpg
中間目錄已經修改過了,圖片名稱太長了,未找到修改名稱的配置文件,請告知,
另外全站都是全站鏈接,請問如何可以改成相對鏈接?
這里可以改
回復@迅睿框架技術-陳澤希 這里只能修改,上傳的目錄名稱,我現在需要修改的是,圖片名稱 2Fbb5dc625d86a9a6.jpg,這個太長了,怎么修改呢
命名不能修改了,隨機的字符
回復@迅睿框架技術-陳澤希 編輯器上傳的圖片,我已經修改好了,但是縮略的還是不行
回復@迅睿框架技術-陳澤希 這個名字太長了,沒有配置文件能修改嘛?
回復@dqterry 可以重寫下Upload類
回復@Jeffery 原理是這樣的,就是沒找到配置文件
回復@dqterry 官方技術都說了命名不能修改,應該是直接寫死了,不能配置修改。那就只有自己把Upload.php里面命名那段復制出來重寫了
回復@Jeffery 應該是段PHP或者JS代碼控制的,之前的dede也是找了好久,還是能改的。
回復@dqterry 嗯嗯,找到整個過程的邏輯代碼就有辦法了
回復@dqterry
你用的upload_file嗎?
試下加下save_name這個參數呢。
或者直接重寫這個方法,底部隨機新名字那里自己做規則。
回復@dqterry 按照這個操作,重寫Upload類。
http://www.zbshanke.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);能滿足你的需求。
回復@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標簽就可以了,沒必要所有路徑都用絕對鏈接
回復@Jeffery 問題又來了,傳上去正常的,保存后變成 http://127.0.0.4/uploadfile/thumb/182be0c5cdcd5072bb1864cdee4d3d6e/200x200_auto.jpg
靠,又要接著改
回復@dqterry 怎么可能,你動了哪些地方?
目錄不需要程序改,后臺可以改。
你再看下附件表 dr_attachment_data 里 attachment 字段存儲的數據呢?
回復@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
修改的地方:
后臺 圖片目錄換成了 /uploads
縮略圖的名稱規則 換成了 !$name && $name=date('h', SYS_TIME).date('m', SYS_TIME).date('s', SYS_TIME).rand(0,9);
其它相關沒動過
回復@dqterry 你這個是沒問題的,你的附件名稱 2111/0411311.jpg 是你修改之后的了。
訊睿CMS上傳的東西全在附件表里面,存入相應的文章表里就是該附件的id,比如你上面的縮略圖thumb存值為1,前端調用時你要用一個方法:\Phpcmf\Service::C()->get_attachment($id)。
參考:http://www.zbshanke.com/doc/710.html
這里可以改
回復@迅睿框架技術-陳澤希 這里只能修改,上傳的目錄名稱,我現在需要修改的是,圖片名稱 2Fbb5dc625d86a9a6.jpg,這個太長了,怎么修改呢
命名不能修改了,隨機的字符
回復@迅睿框架技術-陳澤希 編輯器上傳的圖片,我已經修改好了,但是縮略的還是不行
回復@迅睿框架技術-陳澤希 這個名字太長了,沒有配置文件能修改嘛?
命名不能修改了,隨機的字符
回復@dqterry 可以重寫下Upload類
回復@Jeffery 原理是這樣的,就是沒找到配置文件
回復@dqterry 官方技術都說了命名不能修改,應該是直接寫死了,不能配置修改。那就只有自己把Upload.php里面命名那段復制出來重寫了
回復@Jeffery 應該是段PHP或者JS代碼控制的,之前的dede也是找了好久,還是能改的。
回復@dqterry 嗯嗯,找到整個過程的邏輯代碼就有辦法了
回復@dqterry
你用的upload_file嗎?
試下加下save_name這個參數呢。
或者直接重寫這個方法,底部隨機新名字那里自己做規則。
回復@dqterry 按照這個操作,重寫Upload類。
http://www.zbshanke.com/doc/1098.html
把這個方法復制進去
回復@Jeffery 對的,已經完成了
修改成:
修改目錄的地址:
修改后,縮略圖地址變成了 /uploads/2111/1011465.jpg,看起來舒服多了,
下一個來研究,怎么把絕對鏈接刪掉,網頁端用base標簽就可以了,沒必要所有路徑都用絕對鏈接
回復@Jeffery 問題又來了,傳上去正常的,保存后變成 http://127.0.0.4/uploadfile/thumb/182be0c5cdcd5072bb1864cdee4d3d6e/200x200_auto.jpg
靠,又要接著改
回復@dqterry 怎么可能,你動了哪些地方?
目錄不需要程序改,后臺可以改。
你再看下附件表 dr_attachment_data 里 attachment 字段存儲的數據呢?

回復@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
修改的地方:
后臺 圖片目錄換成了 /uploads
縮略圖的名稱規則 換成了 !$name && $name=date('h', SYS_TIME).date('m', SYS_TIME).date('s', SYS_TIME).rand(0,9);
其它相關沒動過
回復@dqterry 你這個是沒問題的,你的附件名稱 2111/0411311.jpg 是你修改之后的了。
訊睿CMS上傳的東西全在附件表里面,存入相應的文章表里就是該附件的id,比如你上面的縮略圖thumb存值為1,前端調用時你要用一個方法:\Phpcmf\Service::C()->get_attachment($id)。
參考:http://www.zbshanke.com/doc/710.html