之前介绍过无比坚挺无比迅速的图床 微博图床,本博客也一直在用。
但是使用过程中发现一些问题,比如要上传一张图,步骤是“截图-调整大小-加水印-通过插件上传-获取链接”,可以说步骤相当繁琐,做为懒人坚决不能忍,所以就想做一套集裁图,加水印,上传微博一键完成的图床应用。
2019/5/1:更新本地版和新功能,详情查看本地版图床
演示地址
https://bak.yantuz.cn:8000/weiboUploader-Watermark/
以上地址仅供演示,长期使用建议自己搭建服务器。上传的所有图片将在我的服务器上留备份
实现效果
使用说明
使用过程很简单,选择图片上传即可,系统会自动上传新浪微博,并返回链接。如需加水印和调整大小,下方的选项也是即时生效的。
如上传第一张图无需水印,正常上传之后再勾选水印,上传第二图即可自动按设置添加水印。
选项说明
启用水印:水印设置的总开关,开启时下方设置才会生效
水印图:由于我只需要添加图片水印,所以只做了图片水印,图片水印需要提供一个图片URL,最好是PNG格式,加水印会比较美观
水印位置:把图片按9宫格排列,提供了9个位置的水印,默认右下。
透明度:水印透明度,默认50%,这个自己调整,如果遇到深色背景的图片,可以加深透明度
图像缩放:填写宽度时,图像总宽度不会超过设置值,默认800px。高同理,建议只设置宽度即可
项目开源
GitHub:/weiboUploader-Watermark
部署说明
系统用PHP语言编写,可以运行在任何Linux主机上。
环境要求
- PHP >= 7.0
json
扩展openssl
扩展fileinfo
扩展allow_url_fopen
upload
文件夹为图片备份目录,需设置777权限
vendor/consatan/weibo_image_uploader/cache/
为微博cookie存放目录,需777权限
参考
H5上传页:http://fex.baidu.com/webuploader/
图像处理:http://image.intervention.io/
上传微博:https://github.com/consatan/weibo_image_uploader
已知问题
新浪对新IP地址登录的用户进行了验证码验证,而自动登录脚本并不支持验证码输入。微博图床原作者给出的解决方法目前测试是失效的。稳妥的方法是
- 用服务器IP登录微博,让服务器IP也成为可信IP
- 在本地部署程序,生成的cookie文件(
vendor/consatan/weibo_image_uploader/cache/
)上传至服务器,有效期只有1天。
[object Object]到底怎么解决啊 ??谢谢
自己部署的吗?估计是登录失败,需要验证码
pic.rsgdxp.com 长传就报错,用的一个谷歌浏览器插件 需要登录微博 倒是挺好用 就是没有水印 ,有什么好办法解决么 谢谢
参考已知问题的解决方案,用服务器ip 登录微博,至信任,免验证码
如何用服务器IP登录 麻烦说一下 谢谢 谢谢
Deprecated: strstr(): Passing null to parameter #1 ($haystack) of type string is deprecated in /share/CACHEDEV1_DATA/Web/yantuz.cn/wp-content/themes/dux/modules/mo_comments_list.php on line 62
Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /share/CACHEDEV1_DATA/Web/yantuz.cn/wp-content/themes/dux/modules/mo_comments_list.php on line 65
我是服务器上装ss, 用客户端连接登录微博的。估计要连续登录一星期
好的 谢谢
Deprecated: strstr(): Passing null to parameter #1 ($haystack) of type string is deprecated in /share/CACHEDEV1_DATA/Web/yantuz.cn/wp-content/themes/dux/modules/mo_comments_list.php on line 62
Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /share/CACHEDEV1_DATA/Web/yantuz.cn/wp-content/themes/dux/modules/mo_comments_list.php on line 65
要是来个批量复制链接就好了
有道理,这个可以有!
没有文字水印??!虽然我不用,但是之前好像听说新浪可以在相册管理图片吧!
可以支持文字水印但是没做……PHP调用的图片上传接口好像跟相册无关,所以也无法在相册里管理
请问博主,能不能只传到主机,不传微博呢? 谢谢
当然可以了,传到主机更简单。但只传到主机的话,用wordpress上传不就行了
WP自带的上传速度超慢,我想用博主的程序,谢谢
额,需要改改代码。
传微博之前会把图存服务器上一份,到那一步直接返回链接给客户端应该就行
好的,谢谢博主,辛苦了
Deprecated: strstr(): Passing null to parameter #1 ($haystack) of type string is deprecated in /share/CACHEDEV1_DATA/Web/yantuz.cn/wp-content/themes/dux/modules/mo_comments_list.php on line 62
Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /share/CACHEDEV1_DATA/Web/yantuz.cn/wp-content/themes/dux/modules/mo_comments_list.php on line 65
问一下博主,请问上传的图片有没有办法删除啊?
上传到新浪微博了,不能管理和删除…
好的吧,只能是这样子的。
大佬厉害,路过贵站
用的宝塔面板,上传图片后链接就显示[object Object]
跟面板应该无关,显示object就是没获取到返回的图片地址,多半是出验证码了,无法上传成功
大佬,请教一下,如果要修改生成的链接为带a herf 和src标签的链接,应该修改哪里?
upload.js里当图片上传成功时路径回显,大概175行的位置,会往页面中插入图片路径,按需要修改即可。
大佬,请教一下,如果要修改生成的链接为这样的:
要改哪里文件?
请问linux的服务器怎么登陆新浪微博
https://github.com/consatan/weibo_image_uploader
用的是这个开源项目,我猜测的是利用http://weibo.com/minipublish进行模拟登录,进而获取Cookie值,再通过http://picupload.service.weibo.com/interface/pic_upload.php进行图片上传。
好像没理解对你的意思。
只要使用vps的IP登录微博就行,装ss或者VPN之类的代理软件,再在windows电脑上用代理登录微博即可。登录的多了就被认为是可信IP,从而免验证码。
怎么没有显示外链呢
看下控制台有没有错误提示
如果是部署到VPS的话确认一下用VPS的IP登录会不会被要求输入验证码
是用Linux的服务器部署的,而且并没有需要输入验证码,现在就是显示[object Object]
程序不能自己返回验证码。你试试已知问题里的两个解决办法
请问一下大佬这个是怎么回事呢
https://wx1.sinaimg.cn/large/006ZFECEgy1fs6ex1hr3xj31990j6wfu.jpg
可以重新上传一次试试。另外你传的这个是正常图不?新浪可能会和谐非正常图片
对了,这个程序因为会加水印和改大小,所以动图传完会变成静态图……
貌似还是不行,upload里面的用户名和账号也设置了
https://wx1.sinaimg.cn/large/006ZFECEgy1fs6f91l9grj31g70qcjt6.jpg
打开控制台,看下upload.php是不是有报错。
如果是在新服务器搭建的,登录新浪微博可能出验证码,导致自动登录不成功
好像是没有
https://wx1.sinaimg.cn/large/006ZFECEgy1fs6ft53axhj31g70qaaby.jpg
扔虚拟机上的 不知道行不行
Deprecated: strstr(): Passing null to parameter #1 ($haystack) of type string is deprecated in /share/CACHEDEV1_DATA/Web/yantuz.cn/wp-content/themes/dux/modules/mo_comments_list.php on line 62
Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /share/CACHEDEV1_DATA/Web/yantuz.cn/wp-content/themes/dux/modules/mo_comments_list.php on line 65
留个爪,我先去把我的服务器登一段时间微博去。话说,一直在挂QQ。
验证码问题确实不好弄……只有先用笨办法了
为嘛我上传这个源码就是上传不了图片呢?账号密码+配置环境都对啊!
8成是验证码问题。
我看了原作者的解决方案,也没搞明白。
然后我用自己服务器IP登录微博大概有一星期,然后现在能随时正常上传了…
最好是在本地也做一个备份。
之前的都没备份啊……打算弄个脚本,把网站所有图床文件定期备份出来
多谢传播,教程很细致了!