国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php實現圖片批量下載到本地實例

2020-03-22 18:41:27
字體:
來源:轉載
供稿:網友
關于直接采集遠程機器圖片之后再下載到我們本地其實非常的簡單,我們通常會使用fopen 與 file_put_contents 或者高級點的curl來實現,下面我整理了幾個比較好用的圖片下載到本地例子,大家一起看看.

對于沒有防盜鏈的圖片,代碼如下:

<?php/* * 對于沒有防盜鏈的圖片 * $url 圖片地址 * $filename 圖片保存地址 * return 返回下載的圖片路徑和名稱,圖片大小*/function GrabImage($url, $filepath, $filename = "") {    if ($url == "") return false;    $ext = strrchr($url, ".");    if ($filename == "") {        if ($ext != ".gif" && $ext != ".jpg" && $ext != ".png") return false;        $filename = date("YmdHis");    }    ob_start();    readfile($url);    $img = ob_get_contents();    ob_end_clean();    $size = strlen($img); // 圖片大小    !is_dir(getcwd() . $filepath) ? mkdir(getcwd() . $filepath) : null; //生成文件夾    $fp2 = fopen(getcwd() . $filepath . $filename . $ext, "a");    fwrite($fp2, $img);    fclose($fp2);    return array(        $filepath . $filename . $ext,        $size    );}

有防盜鏈的圖片, 代碼如下:

/* * 有防盜鏈的圖片 * $url 圖片地址 * $filename 圖片保存地址 * return 返回下載的圖片路徑和名稱,圖片大小 * $fromurl 來源URL,填寫來源圖片網址可破解防盜鏈*/function GrabImage2($url, $filepath, $filename = "", $fromurl) {    if ($url == "") return false;    $ext = strrchr($url, ".");    if ($filename == "") {        if ($ext != ".gif" && $ext != ".jpg" && $ext != ".png") return false;        $filename = date("YmdHis");    }    !is_dir(getcwd() . $filepath) ? mkdir(getcwd() . $filepath) : null; //生成文件夾    $re = $this->curlg($url, $fromurl);    $size = file_put_contents(getcwd() . $filepath . $filename . $ext, $re); //返回大小    return array(        $filepath . $filename . $ext,        $size    );}

批量采集代碼:

/**  * 批量下載圖片 */html' target='_blank'>public function downimg() {    $keep = $this->_get("keep"); //1從緩存獲取2刪除緩存/重新緩存    $id = $this->_get("id");    $id = $id ? $id : 0;    $nextid = $id + 1;    if ($keep != 1) {        $data = M('Cjlist')->where("status=1")->select();        S("keepcjdata", $data, 3600);    } else {        $data = S("keepcjdata");    }    $endid = count($data);    //echo $id;    //echo $endid;    if ($endid == $id) {        exit('所有圖片下載完成!');    }    //echo $endid;    $data2['cover_imgurl'] = $this->imgdown2($data[$id]['cover_imgurl']);    //echo $data[$id]['thum_url'];    $data2['thum_url'] = $this->imgdown2($data[$id]['thum_url'], 'thum_'); //中型圖片type    $data2['id'] = $data[$id]['id'];    if (!$data2['thum_url'] || !$data2['cover_imgurl']) {        $data2['status'] = - 1;    } else {        $data2['status'] = 2;    }    $res = M('Cjlist')->save($data2);    //$this->echosql();    if ($res) {        echo '下載完成ID:' . $data2['id'] . " 前往下一個ID下載<script>window.location.href='" . U('Index/downimg') . "/keep/1/id/" . $nextid . "'</script>";    } else {        echo '保存出錯,正在重試刷新。<script>window.location.reload()</script>';    }    //dump($data2);    //dump($data);    }

同時還可以生成縮略圖, 代碼如下:

/* *圖片采集保存本地生成縮略圖 * * */public function imgdown($picurl = 'http://p0.so.qhimg.com/t0129f40df5810dfaa5.jpg', $fromurl = 'http://image.so.com') {    $mulu = "/" . date("YmdH", time()) . "/";    $reimg = $this->GrabImage2($picurl, $mulu, time() , $fromurl);    //$img = file_get_contents($picurl);    //echo file_put_contents('222.jpg',$img);    //exit;    //$reimg="/20140529/1401333398.jpg";    //dump($reimg);    //exit;    if ($reimg[1] <= 0) {        exit("下載圖片失敗");    }    $reimg = $reimg[0];    import('ORG.Util.Image');    $Image = new Image();    $imgurl = getcwd() . $reimg;    $ext = strrchr($imgurl, ".");    $thum_name = $Image->thumb($imgurl, "thum_" . time() . $ext, '', '288', '432');    rename(getcwd() . "/" . $thum_name, getcwd() . $mulu . $thum_name); //移動到文件夾里面    $imginfo = $Image->getImageInfo(getcwd() . $mulu . $thum_name);    //dump($imginfo);//開源代碼phprm.com    $imgarr['cover_url'] = $reimg;    $imgarr['thum_url'] = $mulu . $thum_name;    $imgarr['thum_w'] = $imginfo['width'];    $imgarr['thum_h'] = $imginfo['height'];    return $imgarr;}

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 醴陵市| 泰来县| 吴堡县| 永泰县| 雷山县| 嫩江县| 民县| 柘城县| 永定县| 龙山县| 卫辉市| 延边| 罗山县| 鄯善县| 四平市| 宜宾市| 凌海市| 中方县| 砚山县| 松桃| 托克逊县| 友谊县| 宁强县| 西藏| 南木林县| 玛纳斯县| 上林县| 长海县| 南木林县| 诸暨市| 贞丰县| 邛崃市| 泰兴市| 张家川| 晋江市| 新干县| 昌江| 南乐县| 尼勒克县| 扎赉特旗| 高碑店市|