JPEG 文件过早结束

has*_*hmi 6 php codeigniter image-processing image-resizing plupload

我在调整某些图像大小时遇到​​ JPEG 文件过早结束错误。有趣和奇怪的部分是,只有当我上传任何相机拍摄的图像(例如从移动设备拍摄的图像)时,我才会收到此错误,除了那些一切都很好之外。我认为这可能是因为 plupload 中使用的块大小所致。因此,我上传了更大尺寸的图像(大约 3mb)来测试。适用于相机拍摄图像以外的图像。因此,每当我上传相机照片时,我都会收到此错误。

对错误的进一步阐述:php 函数 imagecreatefromjpeg 抛出错误“imgname.jpg 不是有效的 JPEG 文件”。

为了调整图像大小,我使用 Codeigniter 的图像操作类。

rat*_*oss 4

根据你提供的情况,我只能给你我的扣除。

相机图像通常很大。我建议您尝试调整相机图像的大小,看看是否有效。

你的 PHP 版本是什么?有一个与此相关的错误:https://bugs.php.net/bug.php?id =29878

另请检查您的 JPEG 文件是否为 RGB 格式。手册中的某个地方提到它无法正确加载某些版本的 GD 库的 CMYK。

您愿意使用其他课程吗?我使用这个类来调整图像大小,多年来没有遇到任何问题。

调整图像大小非常简单:

<?php
   include('SimpleImage.php');
   $image = new SimpleImage();
   $image->load('picture.jpg');
   $image->resizeToHeight(500);
   $image->save('picture2.jpg');
   $image->resizeToHeight(200);
   $image->save('picture3.jpg');
?>
Run Code Online (Sandbox Code Playgroud)

如果所有建议都不起作用,您可以尝试使用ImageMagick