gd-jpeg: JPEG library reports unrecoverable error 解决办法

Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd-jpeg: JPEG library reports unrecoverable error: in C:\AppServ\www\mercPhoto.php on line 90
Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: ‘comp_logo/200803171023127332.jpg‘ is not a valid JPEG file in 
Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\AppServ\www\mercPhoto.php on line 100

解决见代码。

        /**
               *                等比例压缩图片
               * @param String $src_imagename 源文件名        比如 “source.jpg”
              * @param int    $maxwidth      压缩后最大宽度
              * @param int    $maxheight     压缩后最大高度
              * @param String $savename      保存的文件名    “d:save”
              * @param String $filetype      保存文件的格式 比如 ”.jpg“
              * @version 1.0
               */
         function resizeImage($src_imagename,$maxwidth,$maxheight,$savename,$filetype)
         {

              $typeArr=explode(".",$filetype);
             $type=$typeArr[1];
             switch($type)
             {
                case "png":
                $im=imagecreatefrompng($src_imagename);
                break;

                case "jpeg":
                $im=imagecreatefromjpeg($src_imagename);
                break;

                case "gif":
                $im=imagecreatefromgif($src_imagename);
                break;
             }

             $current_width = imagesx($im);
             $current_height = imagesy($im);

             if(($maxwidth && $current_width > $maxwidth) || ($maxheight && $current_height > $maxheight))
             {
                 if($maxwidth && $current_width>$maxwidth)
                 {
                     $widthratio = $maxwidth/$current_width;
                     $resizewidth_tag = true;
                 }

                 if($maxheight && $current_height>$maxheight)
                 {
                     $heightratio = $maxheight/$current_height;
                     $resizeheight_tag = true;
                 }

                 if($resizewidth_tag && $resizeheight_tag)
                 {
                     if($widthratio<$heightratio)
                         $ratio = $widthratio;
                     else
                         $ratio = $heightratio;
                 }

                 if($resizewidth_tag && !$resizeheight_tag)

                     $ratio = $widthratio;
                 if($resizeheight_tag && !$resizewidth_tag)
                     $ratio = $heightratio;

                 $newwidth = $current_width * $ratio;
                 $newheight = $current_height * $ratio;

                 if(function_exists("imagecopyresampled"))
                 {
                     $newim = imagecreatetruecolor($newwidth,$newheight);
                        imagecopyresampled($newim,$im,0,0,0,0,$newwidth,$newheight,$current_width,$current_height);
                 }
                 else
                 {
                     $newim = imagecreate($newwidth,$newheight);
                    imagecopyresized($newim,$im,0,0,0,0,$newwidth,$newheight,$current_width,$current_height);
                 }

                 $savename = $savename.$filetype;
                 imagejpeg($newim,$savename);
                 imagedestroy($newim);
             }
             else
             {
                 $savename = $savename.$filetype;
                 imagejpeg($im,$savename);
             }
die;

        }
时间: 2024-10-13 12:01:05

gd-jpeg: JPEG library reports unrecoverable error 解决办法的相关文章

ORACLE 11G DB RAC ORA-00257archiver error解决办法

ORA-00257archiver error解决办法 1.之前有处理单机过oracle 11.2.0.4归档日志磁盘空间不足的问题 ,但是没有处理过ORACLE RAC的归档日志磁盘空间不足的问题 所以没有预想到会是出现asm磁盘空间不足的议题 Oracle数据库是目前业界最常用的大型数据库系统,我在单机ORACLE的实际项目中有遇到出现ORA-00257错误(空间不足错误), 通过查找资料,发现绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,可通过简单删除日志或加大存储空间就

关于 Jupyter notebook -- kernel error 解决办法!

关于 Jupyter notebook -- kernel error 解决办法! 方法一: >>正确安装Anaconda >>打开Anaconda Prompt >>输入jupyter kernelspec list查看安装的内核和位置 >>进入安装目录,打开kernel.jason, 查看python的编辑器的路径文件是否与安装路径一样>>如果不一样,那么输入 python -m ipykernel install --user, 重新安装内

VMware unrecoverable error解决方法

把开发环境部署在虚拟机里面,重装系统后不须要再反复部署开发环境. 可是有时候异常退出虚拟机会导致错误.之前出现打开虚拟机之后,系统分辨率错误,就是点击的位置和显示的位置不一样. 于是又一次关了虚拟机,这时候虚拟机占用cpu 100%,过了非常长时间都没有关闭成功. 于是直接power off.后来发现是被360卡住了,下次出现能够先尝试关闭杀毒软件. 之后又一次打开就失败了.提示错误:VMware Workstation unrecoverable error: (vmx)NOT_IMPLEME

iOS error 解决办法

从sdk3.2.5升级到sdk 7.1中间废弃了很多的方法,还有一些逻辑关系更加严谨了. 1,警告:"xoxoxoxo"  is deprecated 解决办法:查看xoxoxoxo的这个方法的文档,替换掉这个方法即可. 2,警告:Declaration of "struct sockaddr" will not be visible outside of this function 解决办法:在你的开源.m文件中添加 #import <netinet/in.

全网最详细的启动zkfc进程时,出现INFO zookeeper.ClientCnxn: Opening socket connection to server***/192.168.80.151:2181. Will not attempt to authenticate using SASL (unknown error)解决办法(图文详解)

不多说,直接上干货! at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081) 18/06/16 17:57:01 INFO zookeeper.ClientCnxn: Opening socket connection to server

missing required library libmysql_e.dll,126 解决办法

之前我用navicat premium连接数据库的时候,报出了这个错误"missing required library libmysql_e.dll,126".    我看了有的解决办法说,是把缺失的文件方在c:\windows\system32\下,但是我放入该目录以后并没有什么用.  然后把该文件放在navicat premium的安装目录下就可以用了,希望对大家有帮助.

&quot;library not found for - &quot;解决办法

在我们编译的时候有时候会报这个错误 "library not found for - " 由于是我们在项目中使用了一些第三方的库,就比如我再使用百度的静态库文件的时候,报出的这个错误. 当xcode在编译的时候却找不到这个库,从而导致如此. 所以我们要让xcode知道这个库文件在哪里,从而在编译的时候轻松的找到它. 解决办法: 获取 库文件所在的那个文件夹 路径,添加到 Target的Build Settings界面 ld:library not found for -lXXX 的问题

iOS - xcode经常报的经典error解决办法大全

1.错误信息: 2015-10-28 10:39:55.933 XFW[2696:55982] *** Assertion failure in -[UITableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-3347.44.2/UITableView.m:7524 (lldb) 错误原因: 返回cell的代码放在括号的范围不对,看下周围代码的作用域.有时括号太多,容易放错代码. 2.错误信息

Bash On Windows(WSL)无法运行32Bit程序,报错cannot execute binary file: Exec format error解决办法

一.背景 windows下用linux工具,但32位的却无法运行报错 aapt: cannot execute binary file: Exec format error file aapt aapt: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.24 二.解决办法 github上@Froosh给出了他的解决方案,通过安装qemu来运行32