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

回復(fù)@Jeffery 太神奇了,搞不懂。
上傳完后,后臺(tái)縮略圖顯示的地址是:/uploads/2111/0411311.jpg,前端顯示的卻是 /static/assets/images/nopic.gif,顯示 No image沒有縮略圖的顯示
數(shù)據(jù)表sz_1_article,thumb顯示1, id 297之前是dede倒過來的數(shù)據(jù)
數(shù)據(jù)表 sz_attachment
數(shù)據(jù)表sz_attachment_data
修改的地方:
后臺(tái) 圖片目錄換成了 /uploads
縮略圖的名稱規(guī)則 換成了 !$name && $name=date('h', SYS_TIME).date('m', SYS_TIME).date('s', SYS_TIME).rand(0,9);
其它相關(guān)沒動(dòng)過
回復(fù)@dqterry 你這個(gè)是沒問題的,你的附件名稱 2111/0411311.jpg 是你修改之后的了。
訊睿CMS上傳的東西全在附件表里面,存入相應(yīng)的文章表里就是該附件的id,比如你上面的縮略圖thumb存值為1,前端調(diào)用時(shí)你要用一個(gè)方法:\Phpcmf\Service::C()->get_attachment($id)。
參考:http://223987.com/doc/710.html