1

我正在尝试在我的网站上放置一个旋转 img 功能。我正在使用 imagejpeg() 但它返回一个充满胡言乱语的 sloo。你能解释一下为什么吗?

                if ($_GET["rotate"] == "clockwise")
                {

                    $degrees = 90;

                    // Content type
                    //header('Content-type: image/jpeg');

                    // Load
                    $source = imagecreatefromjpeg($path);

                    // Rotate
                    $rotate = imagerotate($source, $degrees, 0);

                    // Output

                    if (imagejpeg($rotate))
                    echo "Your image has been rotated clockwise";
                } 
                if ($_GET["rotate"] == "counterclockwise")
                {
                    $degrees = 270;

                    // Content type
                    //header('Content-type: image/jpeg');

                    // Load
                    $source = imagecreatefromjpeg($path);

                    // Rotate
                    $rotate = imagerotate($source, $degrees, 0);

                    // Output
                    if (imagejpeg($rotate))
                    echo "Your image has been rotated Counterclockwise";
                }
                ?>

它将其粘贴到页面上:

ÿØÿàJFIFÿþ>创建者:gd-jpeg v1.0(使用 IJG JPEG v62),默认质量 ÿÛC $。”,#(7),01444'9 = 82 <.342ÿÛC2 !!22222222222222222222222222222222222222222222222222ÿÀûÛ “雅ÿÄμ} 1AQa” q2'¡#乙±ARND $ 3房,%&'()* 456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ“!...†‡ Š'“”•–∼™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãääåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B'¡±Á #3RðbrÑ $4á (AND ON AND ON FOR A很长的路要走)

如果我将其更改为顺时针,乱码也会发生变化,所以我认为它在某种程度上起作用,但它并没有从中创建 jpg。任何帮助都是极好的。

4

1 回答 1

8

图像。您只是没有告诉浏览器它是,您的浏览器将数据解释为文本。设置标题以告诉您的浏览器将数据解释为图像:

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

图像数据必须是页面上唯一输出的内容,之前或之后没有其他 HTML 或文本。

于 2012-09-21T08:08:16.607 回答