ホームページ >バックエンド開発 >PHPチュートリアル >PHP は画像 (方向) の回転問題を処理します
毎日の PHP 開発では、フロントエンドからアップロードされた画像を処理する必要があることがよくあります。最も簡単な方法は画像を保存することです。場合によっては、画像の圧縮やサムネイルの生成など、何らかの処理を実行する必要があります。
これらを言うのは簡単ですが、さらに厄介なのは、フロントエンドによってアップロードされた写真が、サーバーに転送された後に不可解に 90 度または 180 度回転される場合があることです。重要なのは、これらの写真はフロントエンドでは正常に表示されることがありますが、サーバーに転送された後に問題が発生するということです。フロントエンドの学生は、自分たちには責任がないと言いました。これはバックエンドの問題です。 .
これについては何もできません。自分で解決してください。
PHPexif
には画像の回転を処理するための拡張機能があります。画像の回転の問題に対処するには、この拡張機能をインストールする必要があります。exif 拡張子は php_mbstring# に依存します。 ## 拡張機能があるため、インストールする必要があります。拡張機能は 2 つあります。
##準備は次のとおりです。 OK、コードの作成を開始できます。単純なロジック コードを記述するだけです。
$str = '文件路径'; $savePath='保存路径'; $image = imagecreatefromstring(file_get_contents($str)); $exif = exif_read_data($str); if (!empty($exif['Orientation'])) { switch ($exif['Orientation']) { case 8: $image = imagerotate($image, 90, 0); break; case 3: $image = imagerotate($image, 180, 0); break; case 6: $image = imagerotate($image, -90, 0); break; } imagejpeg($image, $savePath); imagedestroy($image); }
Orientation 値は何を意味しますか? まだ見つかりません。見つけたら追加します。追加へようこそコメントエリア
あなたが遭遇した落とし穴について話してください画像情報を入手してください。php7 より前では exif_imagetype() 関数を使用し、php7 以降では exif_read_data() を使用してください。 function
画像情報を取得するには、配列に Orientation フィールドがあるかどうかを必ず確認してください。多くの画像にはこの属性がないか、属性が空であるため、判断する必要があります。
以上がPHP は画像 (方向) の回転問題を処理しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。