織夢園模板網專注于織夢企業模板、DeDe整站模板、織夢Html5模板等織夢模板的下載,提供DEDE織夢模板相關服務。織夢園織夢模板交流群
用戶名:
密碼:
注冊
注冊后享受折扣價

織夢防盜鏈無法下載遠程圖片的方法

織夢園模板 / 2021-09-24 / 收藏
在使用DEDECMS時,很多時候從一些網站復制的內容時,其中的圖片,保存時不能把遠程圖片下載到本地,像新浪博客,網易等一些大型網站圖片有做防盜鏈處理,圖片地址并沒有后輟名!因此在使用dedecms默認的下載遠程功能沒辦法實現!
在發現了此問題,分析了下,發現其實要解決很簡單,發現DEDECMS在檢索遠程圖片時的正則加了圖片格式匹配;
 
DEDECMS匹配的正則:
preg_match_all("/(src)=[\"|'| ]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);

而向新浪博客圖片:http://static2.photo.sina.com.cn/orignal/54a625bft848ec4ffa561&690&690 是沒有圖片后輟的,所在不能匹配下載了!
 
找到了問題,就知道怎么改了!
 
找到DEDECMS文件 /dede/inc/inc_archives_functions.php,找到函數
 
//獲得文章body里的外部資源
 
function GetCurContent($body,&$litpic,$autolitpic)
 
//獲得文章body里的外部資源
 
function GetCurContent($body)
 
大概在11行和89行把匹配遠程圖片的規則
preg_match_all("/(src)=[\"|'| ]{0,}(http:\/\/([^>]*)\.(gif|jpg|png))/isU",$body,$img_array);

改成
preg_match_all("/src=[\"|'|\s]{0,}(http:\/\/([^>]*))(\"|'|\s)/isU",$body,$img_array);

相關安裝使用

收縮
fun88体育网