/**
* 采集远程文件保存到本地
* @param string $remote 远程文件名
* @param string $save_dir 保存到本地目录
* @return string
*/
public function curl_download($remote, $save_dir)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $remote);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$file = curl_exec($ch);
curl_close($ch);
preg_match('/(\.gif|\.jpeg|\.png|\.jpg|\.bmp)/i', $remote, $img_suffix);
$img_suffix = isset($img_suffix[0]) ? $img_suffix[0] : '.png';
$file_name = $save_dir . md5(microtime()) . $img_suffix;
$resource = fopen(ROOT_PATH . 'public' . DS . $file_name, 'w');
$result = fwrite($resource, $file);
fclose($resource);
if($result === false)
{
return '';
}
unset($file, $result, $resource);
return DS . $file_name;
}
/**
* 获取保存到本地文件夹路径
* @access protected
* @return string
*/
public function save_dir()
{
$dir = 'collection' . DS . date('Ymd') . DS;
if(!file_exists($save_dir = ROOT_PATH . 'public' . DS . $dir))
{
if(!@mkdir($save_dir, 0777, true))
{
throw new \RuntimeException('创建文件夹失败');
}
}
return $dir;
}
php采集远程图片保存到本地
最新推荐文章于 2024-04-17 16:19:28 发布