我有一个公众可以上传JPEG的网站。
公众中有人上传了导致网站崩溃的无效JPEG。
PHP说...
imagecreatefromjpeg()[function.imagecreatefromjpeg]:gd-jpeg,libjpeg:recoverable error:JPEG文件的过早结束
我不知道如何绕过这个,所以我用Google搜索并找到了this site。它告诉我要添加......
ini_set('gd.jpeg_ignore_warning', 1);
我在我的index.php
(我的网站的引导程序,我做其他ini_set()
)中添加了该内容。
这似乎没有解决它。
如何处理无效JPEG的这种情况?我在做INI套装有什么问题吗?我在共享主机上,因此无法直接更改php.ini
。
我正在使用Kohana 2.3及其Image library,但我认为这并不重要。
谢谢
答案 0 :(得分:9)
尝试在命令前添加@
字符:
$image = @imagecreatefromjpeg("file.jpg");
if(!$image) die("Sorry, bad JPEG");
它很脏而且可能已经过时(更不用说慢),但它可能会让你的代码失败。
希望这有帮助!
答案 1 :(得分:5)
您通常会使用这样的imagecreatefromjpeg
:
$img = @imagecreatefromjpeg($file);
if (!$img) {
// handle error yourself
}
请注意@
前面的imagecreatefromjpeg
,它用于抑制错误。不幸的是,我无法告诉你Kohana如何在内部做到这一点,以及是否可以说服它做同样的事情。