首頁  >  文章  >  後端開發  >  儲存網頁為圖片 php 遠端圖片儲存到本機的函數類

儲存網頁為圖片 php 遠端圖片儲存到本機的函數類

WBOY
WBOY原創
2016-07-29 08:39:17959瀏覽

//
// 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);
$fp2=@fopen($filename, "a");
fwrite($fp2,$img);
fclose($fp2);
return $filename;
}
$img=GrabImage("/upload/200812080028 .jpg","");
if($img):echo '

<img  src="'.%24img.'" alt="儲存網頁為圖片 php 遠端圖片儲存到本機的函數類" >
';else:echo "false";endif;
?>dedecms中的: if(!empty($saveremoteimg))
{
$body = stripslashes($body);
$img_array = array();
preg_match_all(p" /(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_array as $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);
}

以上就介紹了保存網頁為圖片 php 遠端圖片保存到本地的函數類,包括了保存網頁為圖片方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn