php抓取远程图片到本地

/**
 * 抓取图片存放在本地
 *
 * @param  array  $oldUrlArr [远程图片地址]
 * @return array           [加密过后的图片地址]
 */
function createRemoteUrlData(array $oldUrlArr) {
	global $imageurl;
	//基本路径
	$path   = 'game/' . date('Y', time()) . "/" . date('m', time()) . '/';
	//存放的服务器路径
	$folder = STATIC_ROOT . 'loadimg/'.$path;
	//读取路径
	$url    = $imageurl . $path;
	if (!checkdir($folder) || empty($oldUrlArr)) {
		return ;	
	}
	$new_url_arr = array();
	foreach ($oldUrlArr as $key => $value) {
		$data = file_get_contents($value);
		//如果获取失败
		if (false === $data) {
			continue;
		}

		$splitUrl = explode('.', $value);
		//获取文件扩展名
		$ext = array_pop($splitUrl);	  
		//验证扩展
		if (!in_array($ext, array('jpg', 'png', 'gif'))) {
			continue;
		}

		//原文件名
		$filename = array_pop($splitUrl);
		//加密后文件名
		$filename = 'remote_' . time() . '_' . rand(0,9) . '.' . $ext;	//md5($filename)

		$final_path = $folder . $filename;
		//存入指定文件,如果成功则添加到数组
		if (false !== file_put_contents($final_path, $data)) {
			//$new_url_arr[] = $final_path;
			$new_url_arr[] = $url . $filename;
		}
	}
	//返回新的和旧的url
	return array($oldUrlArr, $new_url_arr);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值