class dlImageByWeb{
/**
*下载图片
*/
public function dl($url,$dir='',$orgName=0){
$state = @file_get_contents($url,0,null,0,1);//获取网络资源的字符内容
$dlDir = $dir; //保存到本地路径地址
$orgName = $orgName?1:0; //是否使用原文件名
//获取原文件类型
if($state){
ob_start();//打开输出
readfile($url);//输出图片文件
$img = ob_get_contents();//得到浏览器输出
ob_end_clean();//清除输出并关闭
if($orgName){
$orgFileName = $key =basename($url);
$filename = './webDl/'.$orgFileName;
}else{
$fileType='jpg';
//type:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM
if((list($width, $height, $type, $attr) = getimagesize($url)) !== false) {
switch ($type) {
case 1:
$fileType='gif';
break;
case 2:
$fileType='jpg';
break;
case 3:
$fileType='png';
break;
case 4:
$fileType='swf';
break;
case 5:
$fileType='psd';
break;
case 6:
$fileType='bmp';
break;
default:
$fileType='jpg';
break;
}
$key=.time().rand(1000,9999).'.'.$fileType;
$filename = './webDl/'.$key;//文件名称与路径
}else{
return 0;
}
}
$fp2 = @fopen($filename, "a");
fwrite($fp2, $img);//向当前目录写入图片文件,并重新命名
fclose($fp2);
return ['key'=>$key,'path'=>$filename];
}else{
return 0;
}
}
/**
*批量下载图片
*/
public function batchDl($urlArr=[]){
if($urlArr&&is_array($urlArr)){
foreach ($urlArr as $key => $value) {
$r=$this->dl($value,'',1);
}
}
return 0;
}
}
$n=new dlImageByWeb();
$urlArr=[
'./1094945555.jpg',
'./578891674.jpg',
'./1048935941.jpg',
'./129132983.jpg',
'./413464489.jpg',
'./450980248.jpg',
'./530963476.jpg',
'./626627045.jpg',
'./243084559.jpg',
'./195507533.jpg'
];
$n->batchDl($urlArr);
?>
网络下载类打包文件下载:
链接:https://pan.baidu.com/s/1ymppjheob7N7BXqUMCMIYA
提取码:sgz4