加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP 获取一篇文章内容中的全部图片,并下载

发布时间:2020-05-30 20:02:23 所属栏目:PHP 来源:互联网
导读:做个记录,在工作or面试中有可能会遇到function downImagesFromTargetUrl($url, $target_dir = null) {if(!filter_var($url, FILTER_VALIDATE_URL)){return false;}if(!$target_dir) {$target_dir = ./download;}$root_url = pathinfo($url);$html = file_get

做个记录,在工作or面试中有可能会遇到function downImagesFromTargetUrl($url,$target_dir = null) {
    if(!filter_var($url,FILTER_VALIDATE_URL)){
        return false;
    }
    if(!$target_dir) {
        $target_dir = './download';
    }
$root_url = pathinfo($url);

$html = file_get_contents($url);            //主要
preg_match_all('/<img[^>]*src="([^"]*)"[^>]*>/i',$html,$matchs);   //主要

$images = $matchs[1];

foreach ($images as $img) {
    $img_url = parse_url($img);//获取img路径信息
    if(! array_key_exists('host',$img_url)) {
        $img_url = $root_url['dirname'] . DIRECTORY_SEPARATOR . $img;
    } else {
        $img_url = $img;
    }

    $img_path = array_key_exists('path',$img_url) ? $img_url['path'] : $img;
    $save = $target_dir . DIRECTORY_SEPARATOR . $img_path;
    $save_path = pathinfo($save);

    if(!is_dir($save_path['dirname'])) {
        mkdir($save_path['dirname'],0777,true);
    }

    file_put_contents($save,file_get_contents($img_url));   //主要
}

}

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读