Hacklog Remote Image Autosave 2.0.7

INTRO


2.0.0 完全重写。
brushes8 和 iShare 等网友多次向我反馈老版本的bug,这次终于抽出点空重新写了此插件。
2.0.0 可以说相比于原来的插件,有非常大的改进。
原来的插件是在文章更新时自动下载远程图片,如果图片非常多的话,这样容易导致执行超时或只有部分图片被下载了。
这次的新版采用的是ajax异步请求的方式让多个文件同时下载。效率和易用性都得到很大改善。
=========================================================
这里发下牢骚,那天有人在我博客留言,说我的Hacklog DownloadManager这个插件弹广告,那人还强调:只要你启用你这个插件就弹广告。凭良心说,凡是我发出去的插件,没有一个上面带有广告的,更别说广告了。搞得我相当郁闷。做插件又不赚钱,还要消耗休息时间、烟。即便是这样,我发布的一些插件我还是坚持维护下去了。这让我想起了Linux下面的fcitx(小企鹅输入法)的原作者,非常好的一个输入法,但后来Yuking决定不更新了。原因是一些人叨叨,说他写的代码哪里哪里不好云云……当时我还不是十分理解。现在我也深有体会了。
=========================================================

此插件与Hacklog Remote Attachment 1.1.6兼容性良好。
此插件与Watermark reloaded 兼容性良好。
save remote images in the posts to local server and add it as an attachment to the post.自动保存日志中的远程图片到本地服务器并将保存后的文件作为日志的附件。

图片批量下载中:

下载完成:

自动替换:

Watermark reloaded负责生成的水印:

DOWNLOAD

hacklog-remote-image-autosave.2.0.7.zip (161.8 KB)

NOTE

if remote server is  unreachable OR remote server Set against hotlinking,then the image url will remain as what it is in the post.
also ,this plugin will not handel with the situation when the remote server returns 302 http status.

TODO

1.a标签中包含img标签时,a标签Href属性如果是图片,也一并获取之。
2.中文文件名转换

更多
112 Responses Post a comment
  1. 多姿

    下载图片的时候,会经常遇到Error:fetch error! 但是对方图片状态是正常的。请问这个是什么错误呢?
    Retry无数次都不行。

  2. 荒野无灯

    @守心斋
    感谢提出宝贵建议。最近我在对我的博客进行程序升级。近期会考虑把你说的“自定义img标签图片提取正则”功能加上。

  3. 守心斋

    有些网页的 img 的图片地址不是用src属性标注的,比如微信网页版用 data-src 来标注图片地址。能否增加一个设置选项能手动扩充 图片地址属性。谢谢。

  4. 守心斋

    @守心斋
    现在又正常了,我就把插件停用再启用,就好了... ... 总之,很好用,感谢作者!!!

  5. 守心斋

    @PastDust
    WP版本4.3.1–zh_CN,和@PastDust 一样的问题。
    1、下载图片成功 但是插入框报错
    SyntaxError: 语法错误. Check your HTTP Server error log or PHP error log to see what happend.

    2、并且文章里的图片链接被替换成了:
    ::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::0
    ::__IHACKLOG_REMOTE_IMAGE_AUTODOWN_BLOCK__::1
    .....................

  6. 特殊情况

    个别网站的图片下载失败,出错提示“Failed to connect to image.meihua.info port 808: Connection refused. Retry”好像是被拒绝了,请问这种情况怎么处理?

  7. achair

    @achair

    其他网站可以正常下载,估计是汽车之家限制了

  8. achair

    请问,这是什么情况:
    Error:fetch error! Retry
    Error:fetch error! Retry
    Error:fetch error! Retry
    Error:fetch error! Retry

    图片地址 http://club1.autoimg.cn/album/userphotos/2015/05/18/09/500_43200380-6920-eh1m-32dn-n203an9b4gd8.jpg

  9. PastDust

    @PastDust 之前是5.2 升级了一下到5.4已经解决 最长一个站用了有两年了 环境也一样 不太关注wp升级日志 也搞不懂问题在哪了 谢啦

  10. jade

    @YYK
    我也出现了相同的问题,怎么解决的呢?

  11. PastDust

    升级4.2之后 下载图片成功 但是插入框报错
    SyntaxError: 语法错误. Check your HTTP Server error log or PHP error log to see what happend.

    求解?

  12. mapleaf

    @mapleaf
    已经摸索着解决了,加一句话即可
    2.0.8版311行插入
    $img = str_replace(“www.xxx.com”,“images.xxx.com”,$img);

  13. mapleaf

    能不能可以自定义路径呢?我的附件放在七牛。
    每次下载了,我还要去替换。
    @荒野无灯

  14. YYK

    我看了看wp自己的代码vars.php
    if ( is_admin() ) {
    // wp-admin pages are checked more carefully
    if ( is_network_admin() )
    preg_match('#/wp-admin/network/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches);
    elseif ( is_user_admin() )
    preg_match('#/wp-admin/user/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches);
    else
    preg_match('#/wp-admin/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches);
    $pagenow = $self_matches[1];

    您的插件在这里,$self_matches是empty的

  15. YYK

    wordpress 3.8.1, php 5.4.24
    环境下,提示Notice: Undefined offset: 1 in D:\WWWRoot\...\wp-includes\vars.php on line 29,然后就只有一个空白的OK按钮,

    请问是我的环境的问题吗?

  16. devin

    求解! wp3.8 提示this can only be run under tinymce editor!

  17. Jerry

    能不能在点POST的时候自动保存图片,不要那么麻烦手动点图片下载?
    还有图片保存路径能不能自己设定?

  18. 荒野无灯

    @cn3dcad
    Watermark RELOADED我这有个增加+fix 版:
    http://ihacklog.com/post/new-years-gift-for-wper.html

  19. cn3dcad

    @荒野无灯
    我现在用着Hacklog Remote Attachment Upyun和Watermark RELOADED插件不知道是不是不兼容Hacklog Remote Image Autosave这个插件。
    我点那个下载按钮弹出的窗口是空白的,窗口右上角有一个保存按钮
    编辑器中是有外链图片的。
    求解答

  20. 荒野无灯

    @晓困
    事实上,你直接copy网页上的图片粘贴时,只是粘贴的图片的绝对url而已。看你那个链接的形式,不像是从浏览器copy的?

  21. 晓困

    用mac粘贴图的时候会有这种链接,希望告诉我怎么处理

    webkit-fake-url://2B65D243-DFD1-4895-A201-5F34A030DBAB/image.tiff

  22. Jessica

    @荒野无灯
    这里也有一个差不多的插件,他集成了水印,保存图片的时候会修改图片名称为一串代码。
    我想保存时,给所有图片定义一个标题,然后所有远程图片保存的时候全是定义的名字-1.jpg 定义的名字-2.jpg

    不知道这个能不能实现呢?

  23. Jessica

    @rain
    全选你的图片,点击编辑器上的去掉链接按钮即可。

  24. 荒野无灯

    @苏洋
    well done~~! 最近工作有些忙,都没时间来更新博客了,有些插件的更新事宜也是一拖再拖。

  25. 苏洋

    感谢荒野无灯的劳动,根据用户需求简单修改,兼容SAE版WORDPRESS,望知晓.
    link:http://wp4cloud.sinaapp.com/2013/11/03/hacklog-remote-image-autosave-2-0-8-for-sae.html

  26. rain

    插件很好用,要是能自动去除超链接就好了,因为自带的链接,点击图片直接打开图片而不是进入文章页面,会损失很多二次流量,现在每次都要手动清除很麻烦,能告知下怎么修改吗?谢谢!
    最后,下载图片只要点一下就自动下载好,不用关窗口就好了。

  27. Jakes

    前台HTTP,HTTPS后台出现问题。无法正常显示插件页面。应该是引用了HTTP的页面。修改了几处可以正常显示了,但是在上传图片的时候出现Error: undefine错误。求解决。

  28. 开辟者

    我修改了

    wordpress上传文件自动重命名的方法

    打开wp-admin/includes/file.php文件,找到第326行这段代码:

    // Move the file to the uploads dir
    $new_file = $uploads['path'] . "/$filename";
    if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )
    return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );

    将其修改为

    // Move the file to the uploads dir
    $new_file = $uploads['path'] . "/".date_i18n("YmdHis").floor(microtime()*1000).".".$ext;
    if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) )
    return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) );

    为什么你这个还是默认名称,怎么让他重命名

  29. dj

    非常感谢你的这个插件,解决了我一直以来被困扰的问题。因为图片引用了别人服务器上的有很多图片都失效了。有了这个插件以后就再也不会发生这种问题了。thanks a lot!

  30. 荒野无灯

    @since 未做测试。应该是不支持的。sae不能用标准的PHP 文件API,要搞特殊化(也是因为这点,个人不太喜欢).

  31. since

    不知道这个是否支持新浪云sae的wordpress 啊。

  32. 煎豆

    @荒野无灯

    偶然发现 2.0.8能够下载了,不过你的下载链接还是2.0.7。

    下载地址按规律猜出来,我就给出(哈哈,橘子酱也关注~):

    http://downloads.wordpress.org/plugin/hacklog-remote-image-autosave.2.0.8.zip

  33. 荒野无灯

    @哑然失笑
    一些图片效果类的插件需要这种HTML结构的,当初开发时保留生成这种带链接的图片就是这个目的。同时,WP自身也是这样图片的,我觉得这样没有什么不好啊

  34. 哑然失笑

    @橘子酱
    也是这个问题,图片转换后自动添加了图片链接,不小心点到了就转到图片,如果一个个去掉链接又太麻烦。

  35. 橘子酱

    我想去除自动生成的图片的链接,这个在那里修改呢。。。
    因为是图片网站,所以不想要图片上面带链接。
    跪求方法。。。。

  36. 楚狂人

    @楚狂人
    刚才又试了一下,好像可以下载到图片,但是前台不显示,只有淘宝图片空间的会这样,其他网站没问题,奇哉怪也

  37. 楚狂人

    试用了博主的插件,非常棒,但是有个问题不知能否解决?下载大部分网站图片都OK,但是在下载淘宝店铺的图片时,图片远程下载不成功,不知是什么原因,望博主有时间能看下,多谢。

  38. 糊涂虫

    能不能在每个下载的图片的后面加个停止按钮,有时候远程下载时有一个图片卡住了,然后一直卡在那里,直接叉掉窗口,图片又还没有替换过来,所以又得重新来。谢谢了

  39. walkskyer

    你好,灯哥!你的几款作品都堪称精品,我最近使用了你的这个插件,在使用过程中发现一个小问题就是有些站点的图片为了防止缓存在图片url中增加了一个随机数参数url形如http://xxxx.jpg?123。导致插件不能正常下载图片,我看了你的代码,在download.php的第69行修改成substr($item ['url'],0,strpos($item ['url'],'?')),就能解决这个问题。望采纳。

  40. HADB

    好东西!加油!顶一下!
    建议:有空可以做个设置页面,可以设置缩略图大小、是否使用缩略图等等。

  41. 狂笑的奶牛

    在WP3.5中,下载远程附件,会将视频代码误认为图片,并且将视频代码去除

  42. 中文吧

    wp3.5 这个插件已经不能用了。可能是编辑器更改了的原因。

  43. 小五

    wp3。5 里边不会工作了 总是找不到图片

  44. 绣财

    插件非常不错,我试用了几个这种类似的,存储方式不如博主的,我建议下一个版本,把atl,设成标题吧!还想问一下,如果自己想改的话,在哪里改

  45. yoco

    这个插件相当好用,支持一个!方便很多了

  46. 中文吧

    博主写的几个插件都很不错,感谢分享给大家。

  47. 唐诗丽

    用插件下载的时候后图片重复好几次~~
    不知道怎么回事?

  48. voidmous

    @荒野无灯
    感谢回复。
    麦库的图片特殊在它不是直接给出jpg的地址,而是转换过的,这样你的插件就无法下载了,类似假死的症状,你可以看看这个链接
    http://note.sdo.com/u/634782146519602937/n/13VrV~k3MX-FnM1jQ002k2

  49. 荒野无灯

    @voidmous
    问题1:我没有用过麦库笔记,不知道它的图片有什么特殊?
    问题2:目前默认是全部下载。不过你可以限定图片的大小。

  50. TekTea

    不错,这么处理可以避免图床出问题后,本地还有备份。

    但有个问题是,更换图床的话,文章中的URL如何替换?直接对数据库用SQL全替换?

  51. voidmous

    很强大的插件,顶一下

    有两个问题:
    1、麦库笔记共享的图片识别不了,请教下怎么改html代码让它识别,当然能够更新插件源码那就更好了
    2、可不可以选择某几个图片下载,而不是默认全部外链图片都下载

    再次说声感谢

  52. 荒野无灯

    @邮莓 会。不过这受到你WP服务器和FTP服务器之间网络传输速率的影响。

  53. 邮莓

    如果装有Hacklog Remote Attachment 1.2.8,自动下载下来的图片,发布后,会上传到远程服务器吗?

  54. 荒野无灯

    @刺客 你好,链接已经做好。ps:此链接属于“友情不链接”,非交换链接。多多交流~~

  55. 刺客

    偶然的发现您的网站跟我的模版有点相似啊!支持一下你!
    您的链接已经做好了!
    相互做个连接吧!可否啊?

    URL:www.cikees.com
    NAME:刺客团队UDC

  56. 邮莓

    水印是不是要另外安装插件?

  57. 萝卜头

    我支持你,不要管他们说三道四,俗话有“众口难调”啊
    =======================================
    =你的博客文章不错,申请友链不知可否,你的友链我已经在 =
    =首页位置(http://cn123.sinaapp.com)及 =
    =博客聚合(http://cn123.sinaapp.com/?page_id=496)中做好=
    =网站名:红枫苑 =
    =地址:http://cn123.sinaapp.com =
    =简介:本博客刚从百度搬家而来,主要为IT技术研究与讨论, =
    =欲寻找和我一样热衷IT的朋友 =
    =======================================

  58. Mary

    老大的这个插件实在好用呐,让我省了不少事,赞一个~

  59. 荒野无灯

    注意看下浏览器console,有没有js错误?有的话,可能是你其它插件导致js错误了。

  60. Nana

    为什么我的网站没法用? 装上去 点那个按钮只弹出一个含有ok按钮的窗口其他什么都没有,是不是我的服务器的问题?不过我两台服务器都有这个问题........... .如果方便的话能否告诉我你的QQ,我好汇报这个问题

  61. 荒野无灯

    无法连接到目标主机。一般是你的WP所在服务器的网络问题。

  62. Bruno

    请教,godaddy空间下载不成功,应该怎么办,提示“Error:couldn't connect to host Retry”

  63. 荒野无灯

    把插件放到sae肯定是不对的,最多也只能把插件的资源文件到到sae.
    由于此插件属于后台插件,因此必须要调用后台用于验证的文件(在wp-admin目录),你把它整个放到sae肯定是不行的。

  64. botak

    无灯大大你好:
    是这样的,我空间在美国,访问速度并不是很快,所以采用yslow里说的另类cdn ,即将wp-content下所有文件放在sae空间里,修改wp-config.php增加
    define("WP_CONTENT_URL", "http://xxxxxx.com/wp-content");
    修改后,访问速度确实增加了,但用不了无灯大大的这个remove image autosave插件,提示

    SAE_Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File 336282708_2919582629/:) in plugins/hacklog-remote-image-autosave/header.php on line 6
    Failed to load bootstrap file: /data1/www/htdocs/996/wpcontent/admin.php

    修改插件里的head.php 第6行“http://xxxxxx.com/wp-admin/admin.php
    就不报错了,但是没任何显示。
    我该怎么做,请求帮助。。
    如能得到回复,万分感谢

  65. 荒野无灯

    :wink: 感谢反馈此bug,忙完近期的一些事情后会出bug fix 更新。

  66. 再袭面包屋

    有关远程服务器图片有空格到本地 LAMP 服务器显示不出来的问题, 临时解决了下:

    找到 util.class.php

    public static function handle_upload($filename, $data, $type, $post_id) 这个 function 中

    找到
    $filename = wp_unique_filename ( $uploads ['path'], $filename, $unique_filename_callback );

    简单在这个后面加入一句
    $filename = str_replace('%20', '-', $filename);

    测试了下暂时可以让有空格 (链接中存在'%20')的图片正常载入到本地服务器并正常显示了。

    只是我的临时处理方法, 希望有官方的 bug fix 出现。

  67. 再袭面包屋

    原因好像是服务器不支持带空格的文件名。。。 所以会显示不出来。 这种情况能自动加上比如 横线连接符这样的 符号吗 ? -

  68. 再袭面包屋

    像这样的文件名的图片好像无法保存啊, 比如:
    Z77%20Extreme4(m).jpg

    咋办, 或者有什么思路吗?

  69. bobby

    很好!!!!!!!!!!

  70. 狂笑的奶牛

    这款插件太棒了,之前看过super image ,但那存图片的地址是固定的,如果用图床就完蛋了。这款插件是根据媒体图片上传的地址的,不用设置,太方便了。我现在太喜欢了,发文章的速度快了好多,呵呵。博主人真好,希望不用在乎那些 唠唠叨叨 的人,至少我支持你。

  71. Gavinwu

    强烈支持无灯,你的下载插件用的相当顺手,有BUG也及时处理。虽然现在不再使用,但灯哥的精神值得尊敬!

  72. cludechn

    这样的好东西收藏先,待会儿我也去咕哝下

  73. kk

    谢谢楼主分享这么好的插件,不过有个不知道是不是问题的问题,我下载的图片不是正常的图片,比如原图片是xxx.png,可是用软件下载后的图片变成了xxx.pngr31601,这样了,不过文章显示,不知道什么原因会这样,是你自己特意搞的还是,我这插件出问题,不知道如何搞,希望楼主看看怎么解决

  74. 荒野无灯

    叨叨有空把js改良一下吧,呵呵,搞前端你在行~~

  75. 王叨叨

    真不错啊,这个要支持下!下载了,分析分析代码先!

  76. 菠萝

    荒兄辛苦了。过来给点精神支持,顺便带走插件。
    这个插件相当棒了,方便 下载图片。

  77. 爱音族

    还没用过你的插件哦,但是看博主免费写插件,大大的好人一个啊!

  78. brushes8

    博主 404, page not found 我利用谷歌浏览器 使用该功能 一直会出现 这个提示··· 到最最后无法完整的把所有图片都下载下来·······哭。。。。
    不过一部分图片已经下载下来了,就是出现那个提示后。你只要不关闭那个下载框,那个提示一直会弹出来的(要过一会儿时间)。 插件应该还在工作感觉。
    希望博主 把这个漏洞修正下 谢谢了····· 我现在主机的空间是在国内的,图片空间是国外的不知道跟这个有没有关系

  79. 荒野无灯

    嗯,感谢反馈bug. 2.0.0新版本的暂时去除了在更新内容时下载图片的钩子。后期会考虑增加对 WLW等XMPRPC client的支持。新版本我自己使用了还算比较满意,建议试用一下看。

  80. brushes8

    博主关于用 Writer发布文章图片会串的问题好像是他使用了 相同的图片文件名发布的原因。最后就导致了已经发布的文章图片会被最新发布的文章图片给替换掉。
    因为我发在那些被串的文章中的图片都有不同程度的拉伸过,那就表面只是这个原本的图片连接没有改变,变的是那个链接的图片。!! 就是不会检测同名文件。这到底算是哪边的漏洞都不知道!
    还有一点就是图片发布的时候不会进入文章的附件中。而是类似于直接上传到了媒体里的。导致媒体库未附加的图片超多··这管理不便。。。。我记得在上个插件版本中我修改了 Writer 的图片发布地址后可以正常使用,现在修改后 会出现创建一个文件夹不能按照原本的年月日发布了,
    希望博主能解决一下这两个问题··谢谢
    在问下 我可不可以直接用低版本的覆盖高版本的 插件。。我想回到上个版本中!!!

  81. iShare

    重新编辑以前发布的文章时选择下载也不能下载过来

  82. iShare

    又来反馈BUG了,我Hacklog Remote Image Autosave和Hacklog Remote Attachment一起使用,不清楚是不是两个一起用的问题,会将wp后台的媒体库里的附件地址全部修改成远程服务器的地址,但是文章里面的附件地址不会出问题,以前直接上传到本地服务器的文件地址在媒体库里面都错误了。媒体库里Hacklog Remote Image Autosave下载到本地的远程附件的地址也变成了Hacklog Remote Attachment里填的远程服务器地址。希望可以解决一下 ^_^

  83. iShare

    等待重写 ,期待中,还是不错的,省的我有时候看到网络图片还要下载到本地电脑在上传到空间去看

  84. 荒野无灯

    此插件目前bug还有蛮多。有时间要重新写过。

  85. iShare

    发现一个BUG,不过是比较蛋疼的情况下出的,就是在文章中同时出现了该图片的链接和外链了该脱的时候,会自动将贴出的原图链接替换成本地链接,而不仅仅是将图片的地址换了

  86. 趣味网

    还有一个BUG: 每更新一次或者预览一次,媒体相册中的照片数量就会增加一倍。

  87. 趣味网

    定时发布的外链图片,好像不能自动保存。

  88. Daniel

    有个BUG,当“写文章”的过程中多次点击使用“预览”功能时,会超成图片被重复下载多次。

  89. 荒野无灯

    @小七
    默认好像是不自动下载远程图片的,要在后台设置一下。或者点“发布”之前选择“下载远程图片”。做这个选项的原因是,如果是用的外链图床上的图片的话,是不需要下载到本地的。

  90. 小七

    我安装设置好以后,就没动静了,没有下载进度,看了几个外链的图片地址也没变

  91. 小七

    中文名称可以转换了啊,这个好

  92. 小七

    支持中文文件名不?你的速度还真快啊

  93. phoetry

    继续沙发, 这个功能很不错, 方便了转载军团=.=

Leave a Reply

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS