登录 注册

登录

问题 FCKeditor如何保存远程图片?

更多
2009年03月21日 12:28 #1 作者: slime09
我下载了这个FCK插件:http://hi.baidu.com/mebeta/blog/item/8e20a236532e8edaa3cc2bd0.html
进行如下设置:
//设置图片保存绝对路径
$saveFilePath='/home/virtualhost/myweb.com/public_html/images/stories/fckAutoSave';
//设置显示的链接地址
$displayUrl='/images/stories/fckAutoSave';
//新建的编辑器对象名称,默认
$fckObjName='oFCKeditor';
测试发现,远程图片会保存到本地服务器,但编辑器中的图片链接没有改变。请问我哪里设置错了?

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年03月21日 23:54 #2 作者: slime09
好象在这里问问题没什么人回帖啊

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年03月22日 01:17 #3 作者: slime09
又是自己搞定,犯了个低级错误

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年03月22日 08:58 #4 作者: Joomla之门
楼主不妨介绍一下经验吧。这个插件似乎还没有人在 Joomla 上用过。

另外,你给的下载地址似乎也无法下载,能否用附件贴上来?谢谢!

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年03月22日 14:07 #5 作者: slime09
源文件是可以下载的,不过确实有很多问题,首先不是UTF8的,因而会显示乱码,需要转换一下,其次上传文件没有验证,很不安全,因此只适合在后台使用。并且,我刚刚才发现,在FIREFOX下是运行成功的,但是在IE下却出错了,我还在找原因。
我出的错误是这个:
//新建的编辑器对象名称,默认
    $fckObjName='FCKeditor1'
应该改为$fckObjName='text'
先把网上下载的程序传上来吧,我自己在进行修改,按JOOMLA的需求改完后会再发一个上来。
另外,我刚开始接触JOOMLA,还不知道怎么制作插件。我本想把这个和ugeshi的插件打包到fckeditor插件里的,可是直接放上去居然安装不了,看来是插件的安装文件要进行一些修改了,不知道有没有这方面的教程?

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年03月23日 02:16 #6 作者: slime09
基本搞定,还有一个奇怪的问题,在firefox下面,所有图片能够一次保存,在IE下面,图片每次只能保存两张,真怪异。

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年04月16日 13:56 #7 作者: Joomla之门
我今天才有机会测试 slime09 介绍的这个插件,我也遇到同样问题:图片可以保存到本地目录,但是保存文章并刷新前台(使用 maxthon 浏览器,IE 核心)时,文章里面的链接没有自动改变过来。

请 slime09 介绍一下经验吧?如果你有改进后的新版本,能否分享一下?我打算将这个插件集成到 Joomla 之门正在打造的基于 FCKeditor 的新编辑器 中去。谢谢!

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年04月16日 13:58 #8 作者: Joomla之门
另外还发现一个不便之处:这个插件将外部图片保存时,会自动改名,使用日期、时间作为文件名,我觉得这样不妥,为何不直接使用原来图片的本来名称?

希望 slime09 能解决这个问题。谢谢!

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年04月18日 07:51 #9 作者: slime09
哦,问题是解决了,我按原作者的思路重写了整个插件,但是是为我自己的程序改写的,比如文件路径什么的都有差异,要整理一下才能放上来。
文件是必须改名的,因为网上的图片文件会有大量重名,比如都叫lianXiFangShi.jpg,图片则完全不同。但老白的意思我也能理解:当我修改一个页面时,图片重复复制到我的文件里,非常浪费资源,而且还很难整理和删除。我甚至在考虑,应该建一个数据库,根据文件的MD5值来确定是不是同一个文件。但现在没有时间这么做,这也是我没有上传自己改写的插件的原因。

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年04月18日 08:18 #10 作者: slime09
我笨了,可以用MD5值做文件名的,我这就重写一下程序

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年04月18日 09:15 #11 作者: Joomla之门
我更新一下我的测试报告:

后来发现这个插件工作又正常了,可以将远程图片保存到本地(站内),同时自动替换文章中的图片链接。

另外,我发现在 save.php 中可以设置保存位置使用“相对路径”。这一点我很高兴!因为我们打造的编辑器是面向所有用户,各自的服务器环境完全不同,如果限定只能用绝对路径,就很麻烦了。现在可以用相对路径,就可以确保图片能保存到指定的位置(我将默认保存位置修改为 images/stories)。

不过,在第二个参数,链接 URL 那里,我也想做成一个“放之四海而皆准”的 URL 格式,比如:

'.JURI::root().'images/stories

这个 '.JURI::root().' 就是代表 Joomla 的网站域名。

但是我没有成功。似乎将这个 Joomla 变量引入 save.php 还需要额外的代码支持。我不懂编程,因此这个工作希望 slime09 能完成。

另外,我发现这个插件作者当初只考虑了简体中文用户,因此插件没有 lang 语言目录,而是直接将界面语言字串都用 hardcode 方式做进了 php 文件。如果 slime09 能给它增加一个 lang 目录,增加多语言支持,就更爽了!

但老白的意思我也能理解:当我修改一个页面时,图片重复复制到我的文件里,非常浪费资源

我笨了,可以用MD5值做文件名的,我这就重写一下程序


我也发现这个问题,每点击一次那个按钮,外部图片就被再次保存一次。这样确实浪费空间。但是我不建议使用 MD5 值作为文件名,MD5 可以用来判断这个图片是否已经保存过,但是不要用来做文件名。

因为:图片的文件名(filename)也是 SEO 的一部分,200904189384.jpg 与 joomla_forum_component_demo.jpg 这两个文件名,你认为 Google 喜欢哪一个?

别忘了,现在大多数搜索引擎都有“图片搜索”,用来判断图片相关程度的除了 ALT 文字,还有文件名。因此我们不能放弃使用有意义的文件名。

为了避免出现文件名重复,我觉得可以用一个唯一值插入到文件名中来区别。例如:

20090418001_joomla_forum_component_demo.jpg

这是利用 “日期+序号”方式来区别,还可以用 “日期+时间”来区别。

如果原来的远程图片本身文件名就没有意义,我们也没有办法,就由它去吧。

期盼 slime09 能早日完成这个插件的改造,再次提高我们的新编辑器的功能!谢谢!

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2009年04月18日 10:12 #12 作者: 圣骑士夜猫子
太好了
我等“代码盲人”最喜欢所见即所得的好东西啊~

登录 或者   注册一个会员帐号 来参与讨论

更多
更多
2009年04月18日 21:21 #14 作者: slime09
文件名还是先用时间戳了,这种方法最容易处理,先整合一下大家的需求,等下次有空的时候再做吧。

登录 或者   注册一个会员帐号 来参与讨论