php curl拉取远程图片
2024-08-27 00:44:52
<?php
$url = "图片绝对地址/thumbnail.jpg";
$filename = 'curl.jpg';
getImg($url, $filename);
/*
*@通过curl方式获取制定的图片到本地
*@ 完整的图片地址
*@ 要存储的文件名
*/
function getImg($url = "", $filename = "") {
if(is_dir(basename($filename))) {
echo "The Dir was not exits";
return false;
}
//去除URL连接上面可能的引号
$url = preg_replace( '/(?:^['"]+|['"/]+$)/', '', $url );
$hander = curl_init();
$fp = fopen($filename,'wb');
curl_setopt($hander,CURLOPT_URL,$url);
curl_setopt($hander,CURLOPT_FILE,$fp);
curl_setopt($hander,CURLOPT_HEADER,0);
curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1);
//curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以数据流的方式返回数据,当为false是直接显示出来
curl_setopt($hander,CURLOPT_TIMEOUT,60);
/*$options = array(
CURLOPT_URL=> '/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg',
CURLOPT_FILE => $fp,
CURLOPT_HEADER => 0,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_TIMEOUT => 60
);
curl_setopt_array($hander, $options);
*/
curl_exec($hander);
curl_close($hander);
fclose($fp);
return true;
}
?>
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'ht(空格)tp://ww(空格)w.fantuan(空格)pu.com/data/attachment/forum/201405/27/001523qiithinnccttzc6i.jpg');
curl_setopt($curl, CURLOPT_REFERER, '');
curl_setopt($curl, CURLOPT_USERAGENT, 'Baiduspider');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
header('Content-type: image/JPEG');
echo $result;
转为base64
$imgtxt = file_get_content('test.jpg');
file_put_content('test.txt', base64_encode($imgtxt));
关键是设置CURLOPT_RETURNTRANSFER为1,不立刻显示,然后设置header,让网页以jpeg方式解释,最后才echo输出数据;
最新文章
- java web学习总结(二十八) -------------------JSP中的JavaBean
- ORA-12541:TNS:no listener 客户端tnsnames.ora配置,以及服务端listener.ora配置
- JavaScript == 、!=、===、!===的比较
- 如何从零基础学习VR
- MVC3 新建项目
- macbook air 128g 磁盘清理
- Velocity – 另外一款加速的 jQuery 动画插件
- tomcat配置及使用 环境变量设置
- Canvas使用渐变之-线性渐变详解
- 封装TableView有可能用到的数据结构和UITableViewCell的一个继承类
- (转载)WebSphere MQ安装过程
- [01] Servlet是什么
- C# 爬虫----Cookies处理(Set-Cookie)
- Openshift 错误解决 ";修改docker cgroup driver";
- Phpstorm-远程连接服务器实时编辑代码
- 最近公共祖先 LCA 倍增算法
- java的classLoader分析与jettty的WebAppClassLoader
- Codeforces 1146E Hot is Cold
- api 1.1构架篇
- 通过 cygwin64 自己编译对应的 Tera Term cyglaunch.exe