使用WYSIWYG编辑器(如
CKEditor)为最终用户构建内容管理系统时,常见的问题是用户可以在编辑器中上传图像,嵌入它们,然后调整它们的大小.
保存内容后,嵌入的(原始)图像URL需要由其正确调整大小的对应物替换.想象一下,用户上传的3000 x 3000照片,在WYSIWYG编辑器中手动调整为300 x 300像素 – 需要自动调整大小以防止加载巨大的源文件.
任务非常简单,我已经实现了很多次(尽管有正则表达式,这就是为什么我要找替换:) – 遍历DOM,搜索图像,看看是否有大小图像源文件与img标记中指定的文件不同,如果是,则用自动调整大小的图像替换原始图像.
沿途有一些小怪癖(一些WYWSIYG编辑喜欢使用width =“300”,其他编辑宽度:300px CSS版本等).
我的问题是,是否有一个现成的,高质量的PHP解决方案做得很好,并考虑到了怪癖?
最佳答案 尝试使用此图像缩放器:
http://shiftingpixel.com/2008/03/03/smart-image-resizer/
我在开发中使用了这个,您可以上传图像文件并根据任何大小或裁剪部分生成缓存文件,以获得最佳性能,而无需实际更改原始图像文件.
例:
<img src="/image.php/coffee-bean.jpg?width=200&height=200&image=/wp-content/uploads/2008/03/coffee-bean.jpg" alt="Coffee Bean" />
您可以在我上面提到的站点下载image.php文件,并将目标图像名称作为参数传递到image.php文件中,然后它将为它生成缓存文件,请确保您的图像文件夹权限已准备好执行,改造.