抓取遠端圖片

listenon發表於2018-11-29

1、開啟cmd命令 進入到安裝php的根目錄,使用php -f 命令執行index.php檔案所在的相對路經

抓取遠端圖片

2、編輯index.php程式碼

<?php

$url = '';  //url地址
$str=file_get_contents($url); 
//取得第一個 img 標籤,並儲存至二維陣列 $match 中   
preg_match_all('/<img.*?src=[\"|\']?(.*?)[\"|\']?\s.*?>/i', $str, $matchs);

//列印出match
// print_r($matchs[0]);

$arr = [];
foreach ($matchs[0] as $v) {
   $preg = '/http:\/\/.*.jpg/';
   preg_match_all($preg, $v, $match);

   if(!empty($match[0][0])){
       $arr[] = $match[0][0];
   }
}

   //檔案儲存地址
$dir = 'E:/images/';

//print_r($arr);

foreach ($arr as $k => $v) {
   $key = strrchr($v, "/");   //返回最後出現的後面值
   $res = substr($key,1);   //從第一位開始擷取到最後,預設0開始
   // 圖片名稱
   $name = $dir . $res;
   // 下載
   download($name, $v);
}


function download($name, $url)
{
 if (!is_dir(dirname($name))) {   mkdir(dirname($name));
}
$str = file_get_contents($url);
$res = file_put_contents($name, $str);
if ($res) {
   echo $name . "下載成功\n";  //\n必須使用雙引號
} else {
   echo $name . '失敗';
}}

複製程式碼



相關文章