PHP 使用 GD 调整图像大小


PHP image resize with GD

所以我正在研究一个上传脚本(这是我第一次体验PHP),我遇到了一个问题:

上传工作正常,文件上传到'../images/' 比重命名为 mysql ID。完成后,我想将图像大小调整为 96px x 96px。比问题开始:

我确实正确安装了GD(使用脚本进行了测试),这是我的"调整大小"代码:

$orig_image = imagecreatefromjpeg("../image/$newname");
$sm_image = Imagecreate(96,96);
Imagecopyresized($sm_image,$orig_image,0,0,0,0,50,50,imagesx($orig_image),imagesy($orig_image));
imageJPEG($sm_image);
我得到的不是

调整大小的图像,图像文件完全相同,但我确实得到:

RéussiÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC       $.' ",#(7),01444'9=82<.342ÿÛC     2!!22222222222222222222222222222222222222222222222222ÿÀ``"ÿÄ   ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ     ÿĵw!1AQaq"2B‘¡±Á  #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ?ðØãÍYK}ݪh"Éé]6‹¥B¢;˦M§%bqôÇ×9¯>¾!SWgÔá0Ö¹‘iáûÛј-݆3é‘ê3Ö¤“ÃW‘Åæ4nHÈ ôëÒ½ÍÞpÐ[4~n îRÆ:€~ƒÚ¢¹žrbV,O žyFqŒcvéŸzò´*¹ZÈõ–ŠÑ£Ë®,ŠŽeË    Bx¯HÕ¬âž2茲©çqáò2ñ÷®>þØuƒ^®Îµ<œÇ+Š‹œAÒ–œëµÈ#Úôœµ´ (¢Q@N›n.."‰†UœnÇËÔóÛŒ×|ó[,o¹ŒoŒ°øSÓë'.™(‚D”…<çÐŒç]m»'_Û—´¼Æh‹$c®O9Á==}>s›’od}ö)SL œ‘ÜK4xGb´}Kìù³ô Ÿò+AnæOÜ„SI½U;rFpO$ƒƒž¤˜¬‹†¸³VزJd ác°n€8Ïõïšµ 鹓ÊXæg9@™Þ¨§9À8ãon•É8I¤Þ¦îÌ•ü©'؈©FeG'°àçƒùŒ’Er:ý´+©O¢±ˆ¶PHÏ8üë§û@0•XÊü¡¦’ry°{qšlí´»{SSlÌü[B3¸Œ`ç¦oÀãµkBn”¯øw"¬T£fyü oxñ?ÞIöÈúÕj¹ªÌ×”Ò±Éb?ªuôÔïÈ®|!%Zj;]þaEU˜…Q@>z‘Œ0‚=«®ÐutFrÊÞx‘6õ|ƒÎîÇÿ­é^e ÑCZ0ê3Çzòñ8?h™õx<Òœ £3Ò Žæò%–u+3LÏ2Œ”q’ON„c¸Ï"­K$«t³Fö±Èîùjw‡+‚1Æ}xõõâ¸[oÞ[¬j$"}êæÁçüMMqâÛé”(tˆàE¯_p3^d°5œºXôþ³IësPÕ`µÛ@O›&w;Ôã9ãõÈ®sXÕ¥»|¼ŒÄn,IosšÍ¸Ô¤˜îfɬù®wµÝ‡Á¨Y½ÎLN>œbÔJWGuËŸ§ò¨iÎw94Úö²>>¤¹¦ßvQE2Š( À§‡aÐÓh iÛbA4ƒø¨óåþ÷éQÑK•í'Ý’yÒ{ô¦cÔÒQEœä÷aES$(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š(¢ŠÿÙ

有什么提示可以让它工作吗?

提前感谢!

不要忘记添加headers

header("Content-Type: image/jpeg");

由于您想要 96x96,它应该是:

imagecopyresized($sm_image,$orig_image,0,0,0,0,96,96,imagesx($orig_image),imagesy($orig_image));