private static function grabImage($a_url,$a_savePath){
if($a_url != ""){ //如果图片地址为空
$a_url=str_replace(['&'],['&'],$a_url); //url中特定字符替换
//获取图片信息大小
$imgSize = getImageSize($a_url);
if(!in_array($imgSize['mime'],array('image/jpg', 'image/gif', 'image/png', 'image/jpeg'),true)){ return ''; }
//获取后缀名
$_mime = explode('/', $imgSize['mime']);
$ext = '.'.end($_mime);
$new_file = $a_savePath ."/";
if (!file_exists($new_file)) {
//检查是否有该文件夹,如果没有就创建,并给予最高权限
mkdir($new_file, 0700);
}
$filename_r = time().rand(10,9000).$ext; //给图片命名
$filename = $new_file.$filename_r;//.'/'
ob_start(); //打开缓冲区
readfile($a_url);
$imgInfo = ob_get_contents(); //获得缓冲区的内容
ob_end_clean(); //清除并关闭缓冲区
//$fp = fopen($filename,'a'); fwrite($fp,$imgInfo); fclose($fp);
$fp = fopen($filename, 'a');
$imgLen = strlen($imgInfo); //计算图片源码大小
$_inx = 1024; //每次写入1k
$_time = ceil($imgLen/$_inx);
for($i=0; $i<$_time; $i++){
fwrite($fp,substr($imgInfo, $i*$_inx, $_inx));
}
fclose($fp); unset($imgInfo,$a_url);
return $filename;
}else{
return '';
}
}