1. 程式人生 > >PHP抓取遠端圖片儲存到本地的實現方法

PHP抓取遠端圖片儲存到本地的實現方法

PHP抓取遠端圖片儲存到本地的實現方式<?php // Function: 獲取遠端圖片並把它儲存到本地 // //
// 確定您有把檔案寫入本地伺服器的許可權 // //
// 變數說明:
// $url 是遠端圖片的完整URL地址,不能為空。
// $filename 是可選變數: 如果為空,本地檔名將基於時間和日期
// 自動生成.
function GrabImage($url,$filename="") {
if($url==""):return false;endif;
if($filename=="") {
$ext=strrchr($url,".");
if($ext!=".gif" && $ext!=".jpg"):return false;endif;

$filename=date("dMYHis").$ext;
}
ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);
, "a");
fwrite($fp2,$img);
fclose($fp2);
return $filename;
}
$img=GrabImage("獲取庫巴的價格
if($img):echo '<pre><img src="'.$img.'"></pre>';else:echo "false";endif;?>dedecms中的實現方法if(!empty($saveremoteimg)) { $body= stripslashes($body); $img_array= array(); preg_match_all("/(src|SRC)=[""|'| ]{0,}(
http://(.*).(gif|jpg|jpeg|bmp|png))/isU",$body,$img_array); $img_array= array_unique($img_array[2]); set_time_limit(0); $imgUrl= $img_dir."/".strftime("%Y%m%d",time()); $imgPath= $base_dir.$imgUrl; $milliSecond= strftime("%H%M%S",time()); if(!is_dir($imgPath)) @mkdir($imgPath,0777); foreach($img_arrayas$key=>$value) { $value= trim($value); $get_file= @file_get_contents($value); $rndFileName= $imgPath."/".$milliSecond.$key.".".substr($value,-3,3); $fileurl= $imgUrl."/".$milliSecond.$key.".".substr($value,-3,3); if($get_file) { $fp= @fopen($rndFileName,"w"); @fwrite($fp,$get_file); @fclose($fp); } $body= ereg_replace($value,$fileurl,$body); } $body= addslashes($body); }