1. 程式人生 > >蘋果手機上傳圖片之後豎圖傾斜

蘋果手機上傳圖片之後豎圖傾斜

想要判斷圖片是否已經正確顯示,需要通過exif_read_data獲得圖片資訊

得到的返回資訊為

(此操作需要開啟exif擴充套件)

$exif = exif_read_data( realpath(__ROOT__).$url);//獲得已上傳圖片的基本資訊

array (size=12)

  'FileName' => string '575d04884b174.jpg' (length=17)

  'FileDateTime' => int 1465713800

  'FileSize' => int 3372313

  'FileType' => int 2

  'MimeType' =>

 string 'image/jpeg' (length=10)

  'SectionsFound' => string 'ANY_TAG, IFD0, EXIF' (length=19)

  'COMPUTED' => 

    array (size=5)

      'html' => string 'width="4032" height="3024"' (length=26)

      'Height' => int 3024

      'Width' => int 4032

      'IsColor' => int 1

      'ByteOrderMotorola' =>

 int 1

  'Orientation' => int 6

  'Exif_IFD_Pointer' => int 38

  'ColorSpace' => int 1

  'ExifImageWidth' => int 4032

  'ExifImageLength' => int 3024

'FileName' 圖片名稱

'FileDateTime' 圖片建立時間

'FileSize' 圖片大小

'FileType' 檔案型別

'MimeType' 圖片格式

'SectionsFound'

'Orientation' 傾斜情況,

1.正常

8:豎直

6:傾斜180

3:倒立豎直

if(!empty($exif['Orientation'])) //判斷已上傳圖片是否存在顯示狀態與拍攝狀態不一致{$source = imagecreatefromjpeg( realpath(__ROOT__).$url);//獲得圖片switch($exif['Orientation']){//判斷攝像狀態與顯示狀態傾斜情況case 8:$source = imagerotate($source,90,0);break;case 3:$source = imagerotate($source,180,0);break;case 6:$source = imagerotate($source,-90,0);break;}$url="/Upload/".$info["myfile"]["savepath"].time().rand(1,10).rand(1,10)."_other.".$info["myfile"]["ext"];imagejpeg($source,realpath(__ROOT__).$url);//重新儲存旋轉過得檔案}

Imagecreatefromjpeg獲得圖片

Imagerotate()根據當前狀態更改圖片方向

Imagejpeg()重新儲存圖片

個人網站製作中,敬請期待http://linchuanxiao.cn

相關推薦

蘋果手機圖片之後傾斜

想要判斷圖片是否已經正確顯示,需要通過exif_read_data獲得圖片資訊 得到的返回資訊為 (此操作需要開啟exif擴充套件) $exif = exif_read_data( realpath(__ROOT__).$url);//獲得已上傳圖片的基本資訊 array

手機圖片(單)非外掛

手機端上傳圖片 HTML <form action="" method="post" enctype="multipart/form-data"> <div class="uploader" style="display: none;z-

解決安卓手機圖片沒有拍照選項,修改後又出現的安卓手機能載入相簿和攝像頭但蘋果手機不能載入相簿的問題

<input type="file" id="choose" accept="image/*" multiple> 上面是原始碼,下面修改後可以讓安卓手機顯示攝像頭 <inp

織夢圖片提示缺少像源文件地址

分享圖片 com 到來 文件夾 ecms 路徑 www. dedecms 原因 dedecms織夢後臺編輯器裏上傳圖片提示“缺少圖像源文件地址” 有以下原因引起 1. 你的網站uploads文件夾沒有寫入權限 2. php.ini裏的upload_tmp_dir沒有自定義

springmvc圖片之後的顯示問題

現在正在學習SSM框架,做了一個檔案上傳的功能。程式碼是參考的www.how2j.com上的。主要如下: 1.web.xml <!--允許訪問jpg。 並且必須加在springmvc的servlet之前--> <servlet-mapping

關於阿里雲oss圖片之後會被旋轉90度的解決辦法

問題描述:正常的圖片前端上傳到oss成功之後的資源地址。在html上引用的時候被旋轉了90度oss資源地址直接在瀏覽器開啟就不會旋轉問題原因:某些手機拍攝出來的照片可能帶有旋轉引數(存放在照片exif資訊裡面)。而oss資源上傳之後會預設自適應方向所以在img標籤中圖片就被旋轉了90度。 解決辦法:阿里雲給

前端把圖片轉為base64,解決手機圖片自動旋轉的問題

使用這個首先要下載exif.js。jsp頁面引用這個js,下載連結:https://link.jianshu.com?t=http://code.ciaoca.com/javascript/exif-js/jsp部分:上傳圖片:<input type="file" ac

多個swfupload例項圖片,縮

先生成一個swfupload例項 var swfu_0 = new SWFUpload({ // Backend Settings upload_url: "index.php?_p=repair&_a=upl

java生成圖片的縮

# public class ToImg { # public static void main(String[] args) throws Exception { # toSmaillImg("untitled.bmp","thumb.bm

Django圖片生成縮

上傳圖片時,有些較大的圖片如果不經壓縮就在前臺展示,就會造成頁面重新整理速度慢、流量浪費等情況,所以我們在上傳圖片時可以生成該圖片的縮圖。 需求:在上傳圖片的同時,生成圖片的縮圖儲存到伺服器,並將

蘋果手機(ios)拍照圖片旋轉90度問題---java後臺處理

需要先匯入包 metadata-extractor-2.3.1.jar 地址 https://github.com/drewnoakes/metadata-extractor/releases?after=2.7.0 xmpcore-5.1.2.jar 依賴包 maven下載 med

angularjs手機webapp 利用input拍照,相簿選擇、縮顯示 圖片(一)

執行後的截圖: html程式碼 <ul class="list_img"> <li ng-repeat="imageSrc in imgshows track by $index"> <img n

使用 CKEditor 圖片, 粘貼屏幕截

要求 license 回調 wan ade 做成 操作 rms 粘貼 之前寫過wangEditor,那真是好用,文檔也清晰,半天就搞定了,無奈沒有對應license,只好選擇別的。 外語一般,閱讀理解都靠蒙。CKEditor官方文檔看的我雲裏霧裏,國內的博客比較少,

jquery 手機圖片

圖片格式 正方 res ide -h wid kit can ati 需要引入exif.js,矯正iphone拍攝圖片方向 function readImage(file) { if (!/image\/\w+/.test(file.type)) {a

記一個圖片床利器插件的實現(Mac版 開源)

rwx 興趣 lse 技術分享 clas putextra 直接 put else Mac版上傳圖片利器插件的實現 鑒於寫博客截圖手動上傳到圖床的步驟過於繁瑣,很久之前寫了一個windows版的截圖軟件插件,用於把圖片快速上傳到圖床 重新打包用戶量過億的開源截圖軟件——加入

圖片預覽控制元件不顯示cropper.js 跨域問題

上傳圖片到圖片伺服器,因為域名不同,多以會有跨域問題。 No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://img.xxx.com’ is there

簡單實現前端選擇圖片並顯示略縮

效果 實現程式碼 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>修改資訊</title> <sc

Android 資料圖片的時候同時片名,拍照時間之類的)

// 上傳檔案public void upload(File file) {try {// post請求需要攜帶的引數AjaxParams params = new AjaxParams();// 將檔案放入引數中LoginInfo loginInfo = new LoginInfo();login

手把手配置床並一鍵圖片

配置圖床,感覺已是學習記錄時必備的一項技能。旨在將圖片儲存在雲端伺服器,方便檢視。 因筆者使用的七牛圖床測試域名已被收回,改用網易雲圖床(免費),並以此文章作為記錄 網易雲圖床申請 網易雲登入註冊 贈送物件儲存50G的儲存空間、20G的月流量、100萬次get請求、10萬次put請求!