php获取远程图片并下载保存到本地
2016-05-31 14:21
696 查看
function getImage($url,$save_dir='',$filename=''){
if(trim($url)==''){
return
array('file_name'=>'','save_path'=>'','error'=>1);
}
if(trim($save_dir)==''){
$save_dir='./';
}
if(trim($filename)==''){//保存文件
$filename=time().".jpg"; //默认文件名,大家可以根据自己的需求修改
}
if(0!==strrpos($save_dir,'/')){
$save_dir.='/';
}
//创建保存目录
if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){
return
array('file_name'=>'','save_path'=>'','error'=>5);
}
//获取远程文件所采用的方法
$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);
//$size=strlen($img);
//文件大小
$fp2=@fopen($save_dir.$filename,'a');
fwrite($fp2,$img);
fclose($fp2);
unset($img,$url);
return
array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);
}
//返回结果中error字段为0表示成功
if(trim($url)==''){
return
array('file_name'=>'','save_path'=>'','error'=>1);
}
if(trim($save_dir)==''){
$save_dir='./';
}
if(trim($filename)==''){//保存文件
$filename=time().".jpg"; //默认文件名,大家可以根据自己的需求修改
}
if(0!==strrpos($save_dir,'/')){
$save_dir.='/';
}
//创建保存目录
if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){
return
array('file_name'=>'','save_path'=>'','error'=>5);
}
//获取远程文件所采用的方法
$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);
//$size=strlen($img);
//文件大小
$fp2=@fopen($save_dir.$filename,'a');
fwrite($fp2,$img);
fclose($fp2);
unset($img,$url);
return
array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);
}
//返回结果中error字段为0表示成功
相关文章推荐
- Your PHP installation&…
- php readfile(),解决下载文…
- PHPExcel导出
- PHP上传图片,以及为图片添加简单…
- TP框架知识点
- [置顶] 【PHP开发】Mac系统ThinkPhp连接MySQL 教程(二)
- Composer -- PHP依赖管理的新时代
- 字符拷贝和字节拷贝文件对比(FileInputStream,FileOutputStream, FileReader, FileWriter)
- [PHP源码阅读]count函数
- mac 下如何开启 ftp server
- mysql修改密码后,phpMyadmin无法登陆
- php数组
- PHP字符串——编码与转义
- PHP之缩略图
- PHP——字符串处理部分
- laravel 配置 No supported encrypter found
- SetProcessShutdownParameters
- Zabbix利用msmtp+mutt发送邮件报警
- php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
- [置顶] 【PHP开发】Mac系统配置MAMP+Thinkphp框架环境 教程(一)