美文网首页
微信图片地址转换(简单图床程序)

微信图片地址转换(简单图床程序)

作者: Aris_TnT | 来源:发表于2019-04-24 12:54 被阅读0次

欢迎访问个人博客Aris-Blog

在:微信文章归档系统开发过程中,直接<img src="///">引用微信公众号里面的图片链接(打开文章后,图片上右键->新标签页打开),会出现以下情况:

image

解决方案:图片存到本地使用本地URL(图片格式webp很强大,也是微信用的,动图静图二合一的格式)

  1. 用户添加或修改首页图片操作的时候:
  2. 传到后台的图片URL先下载图片写入到本地(外部可访问)
  3. 根据时间戳生成图片名称
  4. 返回本地图片的URL

相当于一个简易的图床功能,源码如下:

/**
    * 简单图床程序,解决微信图片防止盗链问题,要设置www-data对img文件夹的写入权限
    * @desc 输入微信图片URL,存入本地,返回本地URL,涉及文件写入操作,不要放在common
    * @param $url
    * @return string
    */
private function simplePictureBed($url){
    $date = date('Ymd-His', $_SERVER['REQUEST_TIME']);
    $file_name = $date.'.webp';//拼接图片名称
    
    $img = file_get_contents($url);
    file_put_contents('/webdata/article/public/img/'.$file_name, $img);
    return 'http://'.$_SERVER['HTTP_HOST'].'/article/public/img/'.$file_name;
}

public function update($id, $newData) {
    $newData['img'] = $this->simplePictureBed($newData['img']);//转换图片地址
    
    $model = new ModelArticle();
    return $model->update($id, $newData);
}

相关文章

网友评论

      本文标题:微信图片地址转换(简单图床程序)

      本文链接:https://www.haomeiwen.com/subject/tltggqtx.html