在php中我们经常使用写一些简单的采集功能,这样可以自动把远程服务器的图片或资源直接采集保存到本地服务器中,下面我来给大家详细介绍远程图片并把它保存到本地几种方法.
例1,代码如下:
-
-
-
-
-
-
function getImage($url,$filename='',$type=0){
-
-
if($url==''){return false;}
-
if($filename==''){
-
$ext=strrchr($url,'.');
-
if($ext!='.gif' && $ext!='.jpg'){return false;}
-
$filename=time().$ext;
-
}
-
-
if($type){
-
$ch=curl_init();
-
$timeout=5;
-
curl_setopt($ch,CURLOPT_URL,$url);
-
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
-
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
-
$img=curl_exec($ch);
-
curl_close($ch);
-
}else{
-
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;
-
}
例2,代码如下:
-
<?php
-
-
-
-
-
-
-
-
-
-
-
-
-
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);
-
-