新浪图床似乎开始防盗链了,免费的服务果然是最贵的,这一点也许在很长时间后我们才能发现到。
而我之前写博文都是使用「ipic」软件,支持复制上传到匿名新浪图床,十分方便,所以一直用的新浪图床。
是时候放到自己服务器上面了。
于是我写这样一个PHP脚本,可以自动将博客中所有使用到新浪图片的地方都自动替换到自己服务器上面的地址。
会自动迁移到typecho的
usr/uploads/sina
目录下
暂时不支持迁移到别的图床,自己可以修改文件中的
uploadPic
函数,只需要图床支持接口上传并返回图片地址即可。如果有比较稳定的图床可以在评论区推荐下哈~
需要替换的图片太多会导致响应时间太长,可以修改
Pull.php
中的$GLOBALS['limit']
变量,多次调用接口即可。
详细说明在github的readme.md
都有写。
这个工具开发过程中有个小坑,在于typecho.options的表中存储的是数组的序列化字符串,不能直接替换修改,否则导致系统无法再次反序列化读取配置。所以需要先反序列化,替换地址后再序列化存储。
我的博客已经替换完毕,如果有任何问题欢迎提出issue~
【最后:handsome用户】主题的一些设置默认也是引用新浪图床的图片,同样可以使用该脚本自动替换,或者手动替换以下设置(可以在后台ctrl+f搜索)
- 头像图片地址
- 支付宝二维码
- 微信二维码
- 时光机页面的头图
- 时光机社交按钮配置
- 原生评论框的背景图片
主题设置引导的一些新浪图床图片会在下个版本中更新替换,谢谢理解!
截图:
51 条评论
啊!我说怎么放新浪的图片炸了…原来开始加防盗链了吗…
付费的都会遇到跑路的,免费就更没保障了。
nice
神器奥→_→
大大,按照你的注释,我把那变量改成true。
但脚本并没有只列出清单,直接给替换了。
一开始false是只列出清单,改成true,就是直接替换了
正需要,谢谢
来了来了,因为新浪图床403这个问题愁了一天了。看到大佬的文章,很受益。谢谢啦,已经换好了
不错,正需要,已star~
大佬加油哇
本来打开网站都傻眼了。。用这个工具补救了一下,但是CSS文件里面背景图还是没有替换掉,手动替换一下,给大佬点赞
你可以提供一下你的css代码,我优化一下正则表达式哈~
技术咖!
啊!太棒了!急需这个,谢谢!
嘿嘿嘿不客气|´・ω・)ノ
秀啊 兄嘚
如果有帮助有用,欢迎star~(/ω\)
好东西啊,哈哈,新浪也是的,搬家咯搬家咯
我之前用的时候还觉得新浪怎么可能这么大方
主题说明文档和很多引用新浪图床的图片都X了。
幸好图片都在服务器本地存放。
辛亏我新站没多少数据,手动替换回本地了
主题说明文档中图片我稍后更新一下
幸亏在手动去替换之前看见了这篇文章……
我也是文章中太多新浪图床图片才决定写一个脚本∠( ᐛ 」∠)_
ps操作前一定要备份( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃不然就有可能被bug坑到了