联系官方销售客服

1835022288

028-61286886

求助 版主:论坛审计组
火车头发布接口发布的缩略图是远程的图片链接地址请问怎么把图片
类型:迅睿CMS 更新时间:2019-07-28 22:48:09 火车头

火车头发布接口发布的缩略图是远程的图片链接地址, 请问怎么把图片远程下载下来 通过手工发布可以选择远程下载

下面是接口代码

if ($_GET['action'] == 'category') {
    // 显示栏目

    foreach ($this->module['category'] as $t) {
        if ($t['child'] == 0 && $t['tid'] == 1) {
            echo '<h1>'.$t['name'].'<=>'.$t['id'].'</h1>'.PHP_EOL;
        }
    }

} else {
    // 入库数据

    $data = $_REQUEST;

    // 发布者id 1
    $data['uid'] = 1;

    // 发布者账号 admin
    //$data['author'] = 'linlea';

    // 主表字段
    $fields[1] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR));
    $cache = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_category_data'));
    $cache && $fields[1] = array_merge($fields[1], $cache);

    // 附表字段
    $fields[0] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_data_0'));
    $cache = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_category_data_0'));
    $cache && $fields[0] = array_merge($fields[0], $cache);

    // 去重复
    $fields[0] = array_unique($fields[0]);
    $fields[1] = array_unique($fields[1]);

    $save = [];

    // 主表附表归类
    foreach ($fields as $ismain => $field) {
        foreach ($field as $name) {
            isset($data[$name]) && $save[$ismain][$name] = $data[$name];
        }
    }
        if (!$data['catid']) {
            exit('栏目为空');
        }

    $save[1]['uid'] = $save[0]['uid'] = $data['uid'];
    $save[1]['catid'] = $save[0]['catid'] = $data['catid'];

    $save[1]['url'] = '';
    $save[1]['status'] = 1; //9表示正常发布,1表示审核里面
    $save[1]['hits'] = 0;
    $save[1]['displayorder'] = 0;
    $save[1]['link_id'] = 0;
    $save[1]['comments'] = 0;
    $save[1]['avgsort'] = 0;
    $save[1]['inputtime'] = $save[1]['updatetime'] = SYS_TIME + rand(0, 7200);
    $save[1]['inputip'] = '127.0.0.1';
	$save[1]['price_quantity'] = 600;
    // 验证标题重复
    if ($this->content_model->table(SITE_ID.'_'.MOD_DIR)->where('title', $save[1]['title'])->counts()) {
        echo '重复';exit;
    }


    $rt = $this->content_model->save(0, $save);

    if ($rt['code']) {
        exit('成功');
    } else {
        exit('失败');
    }

}

exit;


回帖
  • #1楼    迅睿框架创始人
    2019-07-28 17:20:28
    Chrome 0
    最好的方法用火车头软件直接把图片本地化了
  • 华仔
    #2楼    华仔
    2019-07-28 17:22:05
    Chrome 0
    回复迅睿框架创始人 我图片是使用的阿里云oos所以不能用火车头本地化
  • 张明宇
    #3楼    张明宇
    2019-07-28 17:55:32
    Chrome 0
    火车头可以把附件储存到阿里云,有插件
  • 华仔
    #4楼    华仔
    2019-07-28 20:36:31
    Chrome 0
    张明宇 火车头里没找到相关插件
  • 易学习
    #5楼    易学习
    2019-07-28 20:52:40
    Chrome 0
    // 下载远程文件
    $rt = \Phpcmf\Service::L('upload')->down_file([
    	'url' => $file_url,
    	'attachment' => [],
    ]);
    if ($rt['code']) {
    	// 附件归档
    	$att = \Phpcmf\Service::M('Attachment')->save_data($rt['data']);
    	$save[1]['文件字段'] = $att['code'];
    }
    领奖励,不会可以私聊我
    满意答案
  • 华仔
    #6楼    华仔
    2019-07-28 21:52:03
    Chrome 0
    易学习 好,成功必奖励
  • #7楼    迅睿框架创始人
    2019-07-28 21:59:18
    Chrome 0
    非常不错,代码和思路都很完美易学习
  • 华仔
    #8楼    华仔
    2019-07-28 22:48:09
    0
    @易学习:分成感谢,人非常好 非常耐心