1

自分のサイトに img の回転機能を配置しようとしています。imagejpeg() を使用していますが、意味不明なメッセージが返されます。理由を説明できますか?

                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ÿþ>CREATOR: gd-jpeg v1.0 (IJG JPEG v62 を使用)、デフォルトの品質は ÿÛC $.' ",#(7),01444'9=82<.342ÿÛC 2!!22222222222222222222222222222222222222222222222222ÿÀûÛ"ÿÄ ÿĵ}!1AQa"q2'¡#B±ÁRÑð$3br‚ %&'()*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 に答える