2011-12-02 163 views
0

我的网站需要平方的图像。目前我有一个非常基本的图像上传设施。上传图片并在服务器上调整大小并在PHP中进行平方。这导致以下问题: - 它使用了大量的服务器资源 - 图片往往是不完全平方 - 没有任何的进度指示给用户,特别是当他们试图上传大量图片图片上传和处理,服务器端或客户端?

我一个问题现在开始着手植入全新的图片上传页面。你会推荐什么,继续在PHP中处理。我想也许我可以做客户端(我们使用jQuery),有没有好的现有库?做这个客户端是一个好主意。什么是好的PHP/JavaScript工作流程?

回答

0

您可以尝试使用像JCrop这样的jQuery修剪插件,它支持比例锁定以确保平方图像。

请记住,客户端没有任何东西是100%安全的,所以任何验证也必须在服务器端重复。这可能意味着检查图像的宽度/高度,并在需要时再次使用PHP裁剪。

0

如果你正在谈论改变实际的图像数据,你不能完全依赖客户端解决方案,并不是所有的浏览器都会有你需要的功能。如果浏览器无法在js中执行此操作,您可以回到Flash上​​,但由于您需要两个上传程序,因此开始非常快速。

我建议在支持它的浏览器中使用它,并依赖服务器端解决方案。您可以通过在队列中处理它们而不是在上传时立即分发资源,但如果它仍然是问题。

画布是在现代浏览器上做这件事的好方法,你不需要插件。在这里看看如何抓取图像数据上传。

https://developer.mozilla.org/En/HTML/Canvas/Pixel_manipulation_with_canvas

这里是一个lib:http://www.nihilogic.dk/labs/canvas2image/

1

与试图/真服务器端解决方案的坚持,尽量使用ImageMagick做你调整大小,而不是建立在图像处理PHP的。

它在我们的经验中效果更好。

相关问题