聯(lián)系官方銷售客服
1835022288
028-61286886
問一個(gè)問題 火車頭采集直接發(fā)布時(shí) 這樣的圖片鏈接 不本地化 是什么原因
縮略圖 | https://pics2.baidu.com/feed/8435e5dde71190ef95887e6946a5db1efcfa6058.jpeg?token=3cd1e65ca879dd028dcab47267ec680e |
只有調(diào)成待審核時(shí) 然后批量通過才顯示 這是為什么,我需要怎么做才能直接發(fā)布圖片本地化呢 ? 因?yàn)槲也杉臄?shù)據(jù)量比較龐大 待審核比較費(fèi)勁 所以還是想找一個(gè)發(fā)布 就顯示圖片的方法
目前系統(tǒng)還沒有這個(gè)功能
兩種方案 1是在火車頭軟件里面直接下載了
2 是開發(fā)入庫就腳本,寫一段下載圖片程序
down_file()這個(gè)函數(shù)把文件下載下來然后入庫就好了
回復(fù)@琉惗 您的意思是先下載到本地是嗎
回復(fù)@曉猛seo 你先試試不就知道了
$formsite = '/'; //相對地址時(shí)候目標(biāo)域名
$value = str_replace('src="/', 'src="'.$formsite, $data['content']);
//exit($value);
if (preg_match_all("/(src)=([\"|']?)([^ \"'>]+\.(gif|jpg|jpeg|png))\\2/i", $value, $imgs)) {
foreach ($imgs[3] as $img) {
if (strpos($img, '/api/ueditor/') !== false
|| strpos($img, '/api/umeditor/') !== false) {
continue;
}
// 下載圖片
if (strpos($img, 'http') === 0) {
// 正常下載
// 判斷域名白名單
$arr = parse_url($img);
$domain = $arr['host'];
if ($domain) {
$sites = WRITEPATH.'config/domain_site.php';
if (isset($sites[$domain])) {
// 過濾站點(diǎn)域名
} elseif (strpos(SYS_UPLOAD_URL, $domain) !== false) {
// 過濾附件白名單
} else {
$zj = 0;
$remote = \Phpcmf\Service::C()->get_cache('attachment');
if ($remote) {
foreach ($remote as $t) {
if (strpos($t['url'], $domain) !== false) {
$zj = 1;
break;
}
}
}
if ($zj == 0) {
// 可以下載文件
// 同步模式
// 下載遠(yuǎn)程文件
$rt = \Phpcmf\Service::L('upload')->down_file([
'url' => $img,
'attachment' => \Phpcmf\Service::M('Attachment')->get_attach_info(intval($field['content']['setting']['option']['attachment'])),
]);
if ($rt['code']) {
$att = \Phpcmf\Service::M('Attachment')->save_data($rt['data'], 'ueditor_down_img');
if ($att['code']) {
// 歸檔成功
$value = str_replace($img, $rt['data']['url'], $value);
$img = $att['code'];
}
}
}
}
}
}
// 縮略圖
if ($img && !$save[1]['thumb']) {
$save[1]['thumb'] = $img;
}
}
}