php imagecreatefromjpeg return bool(false)问题解决办法

错误描述:

imagecreatefromjpeg返回bool(false)
imagecreatefromjpeg():xxx.jpg is not a valid JPEG file
imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error

PHP载入图像的函数:

imagecreatefromgif()
imagecreatefromjpeg()
imagecreatefrompng()
imagecreatefromwbmp()
imagecreatefromstring()
作用:由文件或URL或字符串中的图像流创建一个新图象,成功后返回图象资源,失败后返回FALSE。
PS:简单的理解其作用就是将要进行分割的图片临时读到内存里面。

错误注释:
错误信息翻译:图片不是一个有效的jpeg文件

错误原因:
出现这种错误一般是因为在处理图片时用的函数和图片格式不一致导致的,例如处理的是png格式的图片你使用的是imagecreatefromjpeg函数。
当然,你可以会疑惑:图片扩展名是.jpg,用imagecreatefromjpeg函数处理没有不对的地方啊?
通常情况下,图片的扩展名和图片的格式一致。但是有些时候也会存在图片的扩展名和图片格式不一致的情况,例如人为修改,本来是png或gif的图片把扩展名改成了jpg,所以有时候我们看到的扩展名并不一定就是图片文件该有的正确的扩展名,所以程序在处理过程中就会抛错返回FALSE。

解决思路:
在进行处理图片时使用getimagesize函数获取图片格式,进而进行判断该使用的图片处理函数。同时,判断返回值是否为FALSE,如果为FALSE尝试其他函数类型。
 

时间: 2024-09-04 06:10:45

php imagecreatefromjpeg return bool(false)问题解决办法的相关文章

asp.net session、登录用户、cookie常见问题解决办法

asp教程.net session.登录用户.cookie常见问题解决办法 这里主要讲了关于session缓存,失效,以及cookie无法删除等常用见的问题了. OutPutCache 自定义缓存:session.登录用户.cookie 等 其实这个也是新瓶装旧酒的问题,前段时间,把这个做了,况且效果和性能都还不错,所以记录下,希望能帮助更多的人 虽然 outputcache 很重要,但是这个功能真的不好用,很多时间不能满足需求,比如做一些自定义方面的缓存依赖,如:session.登录用户信息.

smarty截取中文乱码问题解决办法

smarty截取中文乱码问题解决办法 本文章提供了三款smarty截取中文乱码问题解决办法,关于乱码主要是在中文汉字中的处理了,我们利用了uft-8,gb2312等字符内码机制来截取字符串. */ function smarty_modifier_utruncate($string, $length = 80, $etc = '...',                                     $break_words = false, $middle = false)   { 

Android setButtonDrawable()的兼容问题解决办法

Android  setButtonDrawable()的兼容问题解决办法 setButtonDrawable()的兼容问题 API16实现 /** * Set the background to a given Drawable, identified by its resource id. * * @param resid the resource id of the drawable to use as the background */ public void setButtonDraw

Android扫描二维码时出现用户禁止权限报错问题解决办法

Android扫描二维码时出现用户禁止权限报错问题解决办法 当我用ZBarDecoder.jar写了一个扫描二维码的程序,确实实现了扫描功能.组长说如果用户禁止调用摄像头,那程序也不能崩溃.结果我一运行就崩溃了.在网上自己找了找,可以这样解决. try { mCameraManager.openDriver(); } catch (Exception e) { //当用户手动禁止摄像头权限时,防止系统崩溃 AlertDialog.Builder builder=new AlertDialog.B

Node.js中AES加密和其它语言不一致问题解决办法

 这篇文章主要介绍了Node.js中AES加密和其它语言不一致问题解决办法,例如和C#.JAVA语言相互通信时,需要的朋友可以参考下 例子一:   这几天被一个问题困扰着.Nodejs的AES加密和Java,C#加密出来的不一致.当然,这样就不能解密了.纠结了许久:后来还是实在不行了,看了下源代码,要不然还得继续纠结下去.网上说,通常的nodejs AES和其他语言实现不一样.好吧~~或许吧. nodejs的crypto模块.    代码如下: var crypto = require('cry

php curl常见错误:SSL错误、bool(false)_php技巧

症状:php curl调用https出错 排查方法:在命令行中使用curl调用试试. 原因:服务器所在机房无法验证SSL证书. 解决办法:跳过SSL证书检查. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 症状:php curl调用curl_exec返回bool(false),命令行curl调用正常. 排查方法: var_dump(curl_error($ch)); 返回: string(23) "Empty reply from server

java Escape 地址栏中文编码问题解决办法

java Escape 地址栏中文编码问题解决办法 Value Meaning b Backspace f Form feed n New line r Carriage return t Tab   public class MainClass{   public static void main(String[] arg){      System.out.println("b");      System.out.println("f");      Syst

Android 使用volley过程中遇到的问题解决办法

Android 使用volley过程中遇到的问题解决办法 本文主要介绍使用 volley 过程中遇到的问题,错误提示: com.android.volley.NoConnectionError: java.io.InterruptedIOException",内容加载失败,问题出在重复调用 queue.start() 方法. 错误提示:com.android.volley.NoConnectionError: java.io.InterruptedIOException",然后就内容加

Android ListView与getView调用卡顿问题解决办法

Android ListView与getView调用卡顿问题解决办法 解决办法1,设置ListView高度为固定值或者match_parent/ifll_parent @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { Log.d("onMeasure", "onMeasure"); isOnMeasure = true; super.onMeasure(