PHP网络图片储存到服务器

2023-08-24 10:38:52 浏览数 (2)

前言

相信有很多人有把网络图片保存到服务器的需求,那么如何把网络图片保存到服务器上呢?简单介绍一下我下面代码的原理,首先网络图片转化成base64格式,然后再把base64保存为jpg或者png等格式的图片即可,直接看代码吧

首先

把网络图片转为base64格式

代码语言:javascript复制
//网络图片转base64
function img_base64($qrcodeurl)
{
    $imageInfo = getimagesize($qrcodeurl);
    $base64 = "" . chunk_split(base64_encode(file_get_contents($qrcodeurl)));
    return 'data:' . $imageInfo['mime'] . ';base64,' . chunk_split(base64_encode(file_get_contents($qrcodeurl)));
}

保存为图片

代码语言:javascript复制
$image = img_base64($imgurl);
$image = explode(',', $image);
$image = $image[1];
$imageName = "lmwa_cn" . date("His", time()) . "_" . rand(1111, 9999) . '.png';
$path = "public/uploads/" . date("Ymd", time());
$imageSrc = $path . "/" . $imageName; //图片名字
$r = file_put_contents($imageSrc, base64_decode($image)); //返回的是字节数
if (!$r) {
          //   图片保存失败
          echo '图片保存失败';
}else{
 $fileurl = 'http://' . $_SERVER['HTTP_HOST'] . '/' . $imageSrc;
}

0 人点赞