php 图片外链限制,将新浪微博图床图片保存到本地解决限制外链的方法
我们经常会用到新浪微博的图床,用这个图片的外链达到节约本地服务器空间及加快图片加载速度的目的
但是最近一段时间不知道是微博抽风还是限制外链,导致博客等地方调用外链图片大量裂图
有些地区可能能正常访问,我也是今天发现博客图片有几张裂了,所以打算直接替换放到本地
现在好的是直接访问是可以拿到图片的,趁早进行备份,不然真的等渣浪全部限制以后,图都找不回来
下面说几种方法吧
1. 修改引用地址
将ws1/2/3/4的s替换成x以后就可以访问
或者引用http地址
2. 保存到本地
既然新浪图床不能引用了,最好的容灾的方式就是将图片保存到自己的服务器中
我这里以WordPress为例,将WordPress文章中引用的图片全部更换为本地链接
先来一个Sql,使用phpMyAdmin等工具查询
SELECT id from wp_posts WHERE post_content like '%sinaimg%'
找到包含新浪图床图片链接的文章,将此方法加入functions.php中
function get_post_sinaimgs() {
global $post;
$content = $post->post_content;
preg_match_all('//', $content, $strResult, PREG_PATTERN_ORDER);
var_dump($strResult[1]);
}
此方法为了获取到文章中所有的图片链接,如果你引用的新浪图片文件比较多,建议直接将$post改为写Sql查询全部,然后正则匹配直接打印出来图片地址
在静态资源目录中新建一个PHP文件,推荐在当前月的/wp-content/uploads目录下新建,比如/wp-content/uploads/2019/04/
将图片链接定义为数组
$data = [
"https://ws1.sinaimg.cn/large/006tKfTcgy1g12lp87my3j30ow0780sz.jpg",
"https://ws2.sinaimg.cn/large/0072Lfvtly1fymh07hzkkj30dq0dqagc.jpg",
"https://ws3.sinaimg.cn/large/006tNc79gy1g2cj78h6x5j31gf0itwhj.jpg",
"https://ws4.sinaimg.cn/large/0072Lfvtly1fzmelgwrkkj30el09taag.jpg",
];
然后开始循环处理将图片保存到本地
foreach ($data as $item) {
preg_match('/\/(?P\w+\.(?:png|jpg|gif))$/i', $item,$matches);
$content = file_get_contents($item);
file_put_contents('./'.$matches['name'], $content);
}
echo 'Done!!!';
在/wp-content/uploads/2019/04/目录下的命令行中执行
php sinaimg.php
等待执行完毕,查看当前目录下的文件,应该就会有对应的图片文件
我们可以修改对应的权限和对应等所属组等
chmod 755 ./* && chown www ./* && chgrp www ./*
以上对应的操作完成后,少不了的就是替换数据库中已经写入的地址,还是之前熟悉的操作
备份数据库,然后执行命令(将后面的地址替换为你自己的)
UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://ws1.sinaimg.cn/large', 'https://qq52o.me/wp-content/uploads/2019/04');
UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://ws2.sinaimg.cn/large', 'https://qq52o.me/wp-content/uploads/2019/04');
UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://ws3.sinaimg.cn/large', 'https://qq52o.me/wp-content/uploads/2019/04');
UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://ws4.sinaimg.cn/large', 'https://qq52o.me/wp-content/uploads/2019/04');
就这样,剔除文章中引用新浪微博图床的图片成功,其他地方同理即可
任何个人或团体,未经允许禁止转载本文:《将新浪微博图床图片保存到本地解决限制外链的方法》,谢谢合作!
php 图片外链限制,将新浪微博图床图片保存到本地解决限制外链的方法相关推荐
- 新浪微博图床防盗链解决方案
###### 去年底发现个人博客的新浪微博图床图片个别不显示,更换了新浪的二级域名前缀又正常显示了.到了23年,图床彻底GG了. 除了小程序端可以正常显示之外不管是pc端还是移动端全部不能显示了. # ...
- 如何浏览自己的新浪微博图床
如何查看新浪微博图床上有哪些图片? 坑,微博相册里啥也没有,不知道为什么. 分析这个图床的url,可以发现没有任何关于微博客户的信息,说明图床中图片并不隶属于具体某个用户,而是一个通用的服务端,负责存 ...
- 微博图床php上传,使用新浪微博图床
首先感谢新浪微博提供的免费图床(对外链无限制),以及吊炸天的cdn图片加速服务,从此妈妈再也不用担心我的图床不能用了. 图床原理: 访问http://weibo.com/minipublish 使用新 ...
- 新浪微博图床架构解析
可以先看一下 http://c.blog.sina.com.cn/profile.php?blogid=a466bf9189000rsw 新浪微博官方发出来的文章.以下我们来解析一下如何构建高可用的图 ...
- python下载博文中微博图床图片
python下载博文中微博图床图片 前言 昨天突然发现博客中的许多图片都挂了(会尽neng快tuo修jiu复tuo),今天看了下,发现很多人都挂了,嗯没错就是新浪搞的鬼了,目前是对referrer进行 ...
- 博客图片上传:Typora+PicGo图床
博客图片上传:Typora+PicGo图床设置 原因,解决问题:在Typora的笔记上传博客的时候,或者 typora到其它电脑上时,由于图片是本地图片,导致无法上传 或者 看不到 无法加载该图片. ...
- ps怎么切图后放html下,怎么使用PS切图?PS切图后怎么保存到本地?
怎么使用PS切图?使用PS切图的目的其实就是将大的设计图分割成多个小图片,通过网页代码定位后台相册的照片来显示前端网页的效果,当然,在处理某X宝的图片的时候也是可以使用该方法的,具体见下文怎么使用PS ...
- 图床/图片服务器项目详细设计
项目目录 1.前言 1.1 项目背景 1.2 项目意义 1.3 涉及的知识点 2.总体设计 2.1 需求规定 2.1.1 软件功能的规定 2.1.1.1 系统功能 2.1.1.2 数据流图 2.1.1 ...
- vue点击图片后复制图片url_简单漂亮的(图床工具)开源图片上传工具——PicGo...
介绍 PicGo: 一个用于快速上传图片并获取图片URL链接的工具,由vue-cli-electron-builder构建的简单漂亮的图片上传工具!基于electron-vue开发,支持macOS,W ...
- 批量删除SM.MS图床图片
使用SMMS图床时,如果图片存储太多想删除的话没有批量一键删除,很麻烦,所以可以搞一个SMMS批量删除脚本, 打开此网址 右键检查,找到network,点击网页的删除按钮 点击delete请求 复制c ...
最新文章
- Python 连接 redis 模块
- LUOGU P2966 [USACO09DEC]牛收费路径Cow Toll Paths
- 在运行期通过反射了解JVM内部机制
- scala简明教程:偏函数、高阶函数、Future异步编程、隐式转换
- Django ==》 内置信号
- html不继承父级背景色,javascript – 如何获取从父元素继承的计算背景颜色样式...
- RabbitMQ 高可用之镜像队列
- 【转载】smobiler说明
- 省市区的行政区域数据2021(国家统计局)
- 构造体中变量后面的冒号_flow中问号在参数后面和在冒号有什么区别?declare type的作用是?看英文文档有点一知半解...
- 网络数据包的封包格式
- 请给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组。
- JAVA有没有moba游戏_你了解MOBA么?——MOBA游戏类型介绍(上)
- You can't specify target table 'ship_product_cat' for update in FROM clause
- HTML 媒体(Media)
- spring restTemplate的坑----会对String类型的url中的特殊字符进行转义
- 2020 中科院 CVPR : Context-Aware Attention Network for Image-Text Retrieval
- 普元软件推动企业应用架构转型互联网
- 关于pwd的含义及用法
- 你可以厌恶世俗的眼光,但是你不能逃避