蒼天家 本家
PHP 處理圖片旋轉問題 2017-01-10
有些數位相機因為有陀螺儀,
會自動將相片導正,
會導致上傳時圖片旋轉不正確的問題.

首先將php.ini內容的EXIF打開
;extension=php_exif.dll(去掉最前方的;)

//擷取檔案,$tmp_file為檔案位置
$source = imagecreatefromjpeg($tmp_file);
//讀取檔案exif資訊(檔案 , 是否以逗號區隔數組資訊結果 , 是否將每個Section都變成陣列)
$exif = exif_read_data($tmp_file, 0, true);
$orient = 0;
if(!empty($exif['IFD0']['Orientation'])){$orient = $exif['IFD0']['Orientation'];} //偵測exif的旋轉資訊

switch($orient) {
case 3: //圖片原向左旋轉180度
$source = imagerotate($source, 180, 0); //圖片向左旋轉18度
break;

case 6: //圖片原向左旋轉90度
$source = imagerotate($source, -90, 0); //圖片向右旋轉90度
break;

case 8: //圖片原向右旋轉90度
$source = imagerotate($source, 90, 0); //圖片向左旋轉90度
break;

default: //圖片不需要旋轉
$source = imagerotate($source, 0, 0); //圖片不旋轉
break;
}
imagejpeg($source); //將圖片轉成jpg檔案
關於我

隨手用部落格

紀錄平時學習用到的東西

考慮想重改版

Github 自學倉庫

我的 Github 帳號

PHP開發

公司: 原生PHP

個人: Slim -> Flight

關聯文章
CORS的簡單跨域實作(PHP + jQuery)
優化MySQL的在innodb資料效能
PHP , JS - 雙方json資料溝通方式.
PHP - is_dir_檢查資料夾是否存在
PHP - 圖片縮小與放大
PHP 處理圖片旋轉問題
PHP - 檔案上傳環境設定
PHP - 檔案函數相關操作
PHP - 檔案上傳
PHP - Session設定
PHP - Cookie的設定
PHP - addslashes_反斜線,單引號,雙引號寫入資料庫
PHP - nl2br_輸入文字時按enter時自動加入<br>換行
PHP - strip_tags_html 標籤轉換純字元
PHP - PHP_EOL 解決各平台換行記號不統一問題
PHP - 前端大量值傳至後端方式
PHP - implode_explode 單一變數分解成陣列 / 陣列組合成單一變數
PHP - 查詢MySQL上Table的資訊(AUTO_INCREMENT)
PHP - mysqli 欄位相關
PHP - mysqli 資料撈取
PHP - mysqli 資料庫的使用
PHP - 引用外部的資料
PHP與前端(JS,HTML)相互傳值的方法
MySQL - 使用正規化
MySQL - 資料表的建立
MySQL - 資料庫簡單的計算
MySQL - 基礎語法
CSS - DIV / TD內部將圖片完全置中
CSS - overflow超過時處理方式
CSS - 左右文字平均對齊
HTML - 手機的顯示尺寸(RWD整理一篇文章)
HTML - 智慧型手機啟動app的網址
HTML - 預先讀取頁面或是資料的方式
JS - 手機裝置偵測位移
JS - 手機裝置轉址至手機版本介面
JS、PHP - if...else...精簡用法
JS - 文字取代與全部取代
JS - 偵測鍵盤事件方法
JS - 數值取樣
JS - 轉址與重新載入的語法
JS - 陣列變呼叫與存取的方式
jQuery Plugins - 透過timer.js來實現自動計時連續處理特定動作行為
jQuery Plugins - 透過jQuery form來實現上傳圖片不刷頁
jQuery - inArray找尋陣列符合值得方法
jQuery - 動態特效(animate與fade)相關
jQuery - 目前畫面卷軸位置、物件相對/絕對位置
jQuery - 滑鼠滑入滑出與hover用法
jQuery - focus/blur 焦點.失去焦點用法
JS、PHP - 轉頁方法
JS - 倒數功能
jQuery - 偵測目前的位移
jQuery - 偵測元素內的值是否有異動
jQuery - 僅執行一次one
jQuery - 事件綁定bind / live / delegate /on
jQuery - 操作子元素取得父元素屬性(.parent)
jQuery - 透過proxy將其它物件帶入特定function
回首頁