php - 如何处理上传有问题的 JPEG 导致的错误?

标签 php error-handling gd

我有一个网站,公众可以在其中上传 JPEG。

公众中有人上传了无效的 JPEG,导致网站崩溃。

PHP 说...

imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file

我不确定如何解决这个问题,所以我用 Google 搜索并找到了 this site .它告诉我添加...

ini_set('gd.jpeg_ignore_warning', 1);

我在我的 index.php 中添加了它(我网站的 Bootstrap ,我在其中执行其他 ini_set())。

这似乎没有解决问题。

我该如何处理这种无效 JPEG 的情况?我对 INI 集做错了吗?我在共享主机上,因此无法直接更改 php.ini

我正在使用 Kohana 2.3,及其 Image library ,但我认为它与此无关。

最佳答案

尝试在命令前添加一个 @ 字符:

$image = @imagecreatefromjpeg("file.jpg");
if(!$image) die("Sorry, bad JPEG");

它很脏而且可能已经过时(更不用说慢了),但它可能会使您的代码不会失败。

希望这对您有所帮助!

关于php - 如何处理上传有问题的 JPEG 导致的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3983614/

相关文章:

php - 使用 jQuery 在 mySQL 库中存储基本文本字符串?

php - 在 PHP 中打印多个反序列化数组

php - 通过联系表单Submission.php接收500服务器错误

php - 在设置每个属性时验证域实体,还是稍后一次性验证所有属性?

PHP 总是正确插入数据,但一旦失败并插入重复数据?

java - 从php中获取json数据并将其存储在java中的数组中

c# - 我如何忽略错误以继续执行C#代码中的项目?

php - 带有 png 扩展名的通用动态图像

image - 检测JPEG压缩率?

php - 使用 GD 库将 bmp 图像写入目录