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条评论菲菲地方 Lv.1
Firefox 99.0
Mac OS X 10.15 回复
湖北省武汉市 联通
情谊32 Lv.1
Safari 15.4
Mac OS X 10.15.7 回复
支持
山东省淄博市 移动
腾讯视频 Lv.3
Chrome 96.0.4664.104
Android 10 回复
新人报道
学习一下
北美地区
木空 Lv.1
Chrome 96.0.4664.104
Android 10 回复
感谢楼主
,好人一生平安
北美地区
啊啊啊啊 Lv.1
Chrome 99.0.4844.84
Windows 回复
asdhau哈德看啥看
中国 移动
小呆 Lv.1
Chrome 100.0.4896.60
Windows 7 回复
牛牛牛
山东省滨州市 联通
断桥守後 Lv.1 回复
1111你太
山东省青岛市 联通
端口 Lv.1 回复
真牛逼 感谢分享
北京市 微软(中国)有限公司
阿杰 Lv.1 回复
66666牛逼
广东省东莞市 电信
小白 Lv.1 回复
感谢楼主分享 牛逼
山东省临沂市 联通