php 抓圖不使用curl

 

php抓圖時如果只抓圖,用curl太浪費了

那就用file_put_contents吧

 <?php
 $url="xxx.net/xxx.jpg"
 $headers = get_headers($url);
 $pattern = $headers[0];
 if (preg_match("/200/i",$pattern)){//判斷圖片是否存在
     $contentType = $headers[3];
     switch ($contentType){
         case "Content-Type: image/jpeg":
             $extension=".jpg";
         break;
         case "Content-Type: image/png":
             $extension =".png";
         break;
         default:
            echo "not match";exit;
         break;
     }
 }

 $tmpFile="/tmp/".md5($url).$extension; 
 file_put_contents($tmpFile,file_get_contents($url));

 

這樣就可以下載

用get_header的方式去判讀url的圖片是否存在,圖片存在就進行put get的動作

在php5以後的版本,file_get_contents好用很多

發佈留言