php curl简单图片生成base64编码使用方法:创建index.php 文件复制下面代码保存即可<?php
$url=$_GET['url'];
function curl_url($url,$type=0,$timeout=30){
$msg = ['code'=>2100,'status'=>'error','msg'=>'未知错误!'];
$imgs= ['image/jpeg'=>'jpeg',
'image/jpg'=>'jpg',
'image/gif'=>'gif',
'image/png'=>'png',
'text/html'=>'html',
'text/plain'=>'txt',
'image/pjpeg'=>'jpg',
'image/x-png'=>'png',
'image/x-icon'=>'ico'
];
if(!stristr($url,'http')){
$msg['code']= 2101;
$msg['msg'] = 'url地址不正确!';
return $msg;
}
$dir= pathinfo($url);
$host = $dir['dirname'];
$refer= $host.'/';
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_REFERER, $refer); //伪造来源地址
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//返回变量内容还是直接输出字符串,0输出,1返回内容
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);//在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出
curl_setopt($ch, CURLOPT_HEADER, 0); //是否输出HEADER头信息 0否1是
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); //超时时间
$data = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
$httpCode = intval($info['http_code']);
$httpContentType = $info['content_type'];
$httpSizeDownload= intval($info['size_download']);
if($httpCode!='200'){
$msg['code']= 2102;
$msg['msg'] = 'url返回内容不正确!';
return $msg;
}
if($type>0 && !isset($imgs[$httpContentType])){
$msg['code']= 2103;
$msg['msg'] = 'url资源类型未知!';
return $msg;
}
if($httpSizeDownload<1){
$msg['code']= 2104;
$msg['msg'] = '内容大小不正确!';
return $msg;
}
$msg['code'] = 200;
$msg['status']='success';
$msg['msg'] = '资源获取成功';
if($type==0 or $httpContentType=='text/html') $msg['data'] = $data;
$base_64 = base64_encode($data);
if($type==1) $msg['data'] = $base_64;
elseif($type==2) $msg['data'] = "data:{$httpContentType};base64,{$base_64}";
elseif($type==3) $msg['data'] = "<img src='data:{$httpContentType};base64,{$base_64}' />";
else $msg['msg'] = '未知返回需求!';
unset($info,$data,$base_64);
return $msg;
}
$msg = curl_url($url,3);
if($msg['status']=='success') echo $msg['data'];
die;
?>调用方法:http://4dn.net/index.php?url=图片地址
评论
172条评论1239870891 Lv.1 回复
666666666
江苏省南京市 电信
need login南栀 Lv.1 回复
拿走了XXXX
北京市 移动
need login南栀 Lv.1 回复
拿走了
北京市 移动
miaojiyuan Lv.1 回复
感谢楼主,好人一生平安
河北省石家庄市 电信
是多少 Lv.1 Chrome 119.0.6045.160 Windows 回复
感谢楼主,好人一生平安
青海省西宁市 移动
bxs446 Lv.1 Chrome 114.0.5735.289 Windows 回复
感谢楼主,好人一生平安
中国 移动
哼 Lv.1 回复
新人报道学习一下
亚太地区
苏宁 Lv.1 回复
支持一下,黑蜘蛛博客有你更精彩
广东省东莞市 电信
666 Lv.1 回复
就阿斯大胜靠德
四川省绵阳市 电信
dingxingwo Lv.1 回复
看起来好像不错的样子湖北省 电信