久久精品国产强奸|亚洲久久视频日韩|久草在想AV22|av72麻豆花絮|精品九九强奸视频|国产亚洲三级影片|香蕉啊啊一区二区|丁香五月在线观看|就1n7在线超碰|91中文在线资源

php實(shí)現(xiàn)圖片批量下載到本地實(shí)例

PHPz
發(fā)布: 2016-05-26 08:21:28
原創(chuàng)
975096人瀏覽過(guò)

關(guān)于直接采集遠(yuǎn)程機(jī)器圖片之后再下載到我們本地其實(shí)非常的簡(jiǎn)單,我們通常會(huì)使用fopen 與 file_put_contents 或者高級(jí)點(diǎn)的curl來(lái)實(shí)現(xiàn),下面我整理了幾個(gè)比較好用的圖片下載到本地例子,大家一起看看.

對(duì)于沒(méi)有防盜鏈的圖片,代碼如下:

<?php
/*
 * 對(duì)于沒(méi)有防盜鏈的圖片
 * $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
    );
}
登錄后復(fù)制

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

/*
 * 有防盜鏈的圖片
 * $url 圖片地址
 * $filename 圖片保存地址
 * return 返回下載的圖片路徑和名稱,圖片大小
 * $fromurl 來(lái)源URL,填寫(xiě)來(lái)源圖片網(wǎng)址可破解防盜鏈
*/
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
    );
}
登錄后復(fù)制

批量采集代碼:

/** 
 * 批量下載圖片
 */
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'] . " 前往下一個(gè)ID下載<script>window.location.href='" . U('Index/downimg') . "/keep/1/id/" . $nextid . "'</script>";
    } else {
        echo '保存出錯(cuò),正在重試刷新。<script>window.location.reload()</script>';
    }
    //dump($data2);
    //dump($data);
    
}
登錄后復(fù)制

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

立即學(xué)習(xí)PHP免費(fèi)學(xué)習(xí)筆記(深入)”;

/*
 *圖片采集保存本地生成縮略圖
 *
 * */
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); //移動(dòng)到文件夾里面
    $imginfo = $Image->getImageInfo(getcwd() . $mulu . $thum_name);
    //dump($imginfo);//開(kāi)源代碼phprm.com
    $imgarr['cover_url'] = $reimg;
    $imgarr['thum_url'] = $mulu . $thum_name;
    $imgarr['thum_w'] = $imginfo['width'];
    $imgarr['thum_h'] = $imginfo['height'];
    return $imgarr;
}
登錄后復(fù)制
PHP速學(xué)教程(入門(mén)到精通)
PHP速學(xué)教程(入門(mén)到精通)

PHP怎么學(xué)習(xí)?PHP怎么入門(mén)?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門(mén)到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!

下載
來(lái)源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn
最新問(wèn)題
開(kāi)源免費(fèi)商場(chǎng)系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://www.400tele.com.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)