<?php $url = "圖片絕對地址/thumbnail.jpg"; $filename = 'curl.jpg'; getImg($url, $filename); /* *@經過curl方式獲取制定的圖片到本地 *@ 完整的圖片地址 *@ 要存儲的文件名 */ function getImg($url = "", $filename = "") { if(is_dir(basename($filename))) { echo "The Dir was not exits"; return false; } //去除URL鏈接上面可能的引號 $url = preg_replace( '/(?:^['"]+|['"/]+$)/', '', $url ); $hander = curl_init(); $fp = fopen($filename,'wb'); curl_setopt($hander,CURLOPT_URL,$url); curl_setopt($hander,CURLOPT_FILE,$fp); curl_setopt($hander,CURLOPT_HEADER,0); curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1); //curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以數據流的方式返回數據,當爲false是直接顯示出來 curl_setopt($hander,CURLOPT_TIMEOUT,60); /*$options = array( CURLOPT_URL=> '/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg', CURLOPT_FILE => $fp, CURLOPT_HEADER => 0, CURLOPT_FOLLOWLOCATION => 1, CURLOPT_TIMEOUT => 60 ); curl_setopt_array($hander, $options); */ curl_exec($hander); curl_close($hander); fclose($fp); return true; } ?>
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'ht(空格)tp://ww(空格)w.fantuan(空格)pu.com/data/attachment/forum/201405/27/001523qiithinnccttzc6i.jpg'); curl_setopt($curl, CURLOPT_REFERER, ''); curl_setopt($curl, CURLOPT_USERAGENT, 'Baiduspider'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); header('Content-type: image/JPEG'); echo $result;
關鍵是設置CURLOPT_RETURNTRANSFER爲1,不馬上顯示,而後設置header,讓網頁以jpeg方式解釋,最後才echo輸出數據;php