Rumah pembangunan bahagian belakang tutorial php 在IE上传JPG图片的问题_PHP教程

在IE上传JPG图片的问题_PHP教程

Jul 13, 2016 am 10:33 AM
ie

前一段时间做了一个图片上传的小程序,今天有人说jpg图片上传不了。我在本地Chrome、Firefox测了下,发现没有问题,上传正常。我问他用什么浏览器,原来是世界之窗、还有360......我囧。我想,是不是IE的问题?于是我在IE下测了,果然不行。原来的程序如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

switch($type)

{

    case "image/jpeg":

    $resultImage = imagecreatefromjpeg($original);

    imagejpeg($resultImage, $target, $quality);

    break;

     

    case "image/png":

    $resultImage = imagecreatefrompng($original);

    imagepng($resultImage, $target, $quality_png);

    break;

     

    case "image/gif":

    $resultImage = imagecreatefromgif($original);

    imagegif($resultImage, $target, $quality);

    break;

     

    default :

    die("不支持此文件类型");

    exit;

}

Salin selepas log masuk

后来google了下,发现关于jpg格式的图片在IE下确实有些差异。

在IE下上传一副jpg图片,然后打印该上传文件的信息如下:

1

2

3

4

5

6

7

8

Array

(

    [name] => bkjia.jpg

    [type] => image/pjpeg

    [tmp_name] => /tmp/phprY0loE

    [error] => 0

    [size] => 71189

)

Salin selepas log masuk

jpg格式的图片的Mimetype为image/pjpeg。由于开发中都用Chrome或者Firefox开发,在判断时并没有加image/pjpeg,所以导致jpg格式的图片在IE内核的浏览器无法被识别。

下面是各格式图片在不同浏览器中的格式对照:

1

2

3

4

firefox image/jpeg image/bmp image/gif image/png

ie 6 image/pjpeg image/bmp image/gif image/x-png

ie 7 image/pjpeg image/bmp image/gif image/x-png

ie 8 image/pjpeg image/bmp image/gif image/x-png

Salin selepas log masuk

传图片时,ie会把 jpg、jpeg翻译成image/pjpeg,png翻译成image/x-png 。而火狐则很标准:jpg、jpeg翻译成image/jpeg,png翻译成image/png。

程序改成这样就OK了。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

switch($type)

{

    case "image/jpeg":

    $resultImage = imagecreatefromjpeg($original);

    imagejpeg($resultImage, $target, $quality);

    break;

     

    case "image/pjpeg":

    $resultImage = imagecreatefromjpeg($original);

    imagejpeg($resultImage, $target, $quality);

    break;

     

    case "image/png":

    $resultImage = imagecreatefrompng($original);

    imagepng($resultImage, $target, $quality_png);

    break;

     

    case "image/gif":

    $resultImage = imagecreatefromgif($original);

    imagegif($resultImage, $target, $quality);

    break;

     

    default :

    die("不支持此文件类型");

    exit;

}

Salin selepas log masuk

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752535.htmlTechArticle前一段时间做了一个图片上传的小程序,今天有人说jpg图片上传不了。我在本地Chrome、Firefox测了下,发现没有问题,上传正常。我问他用什...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Internet Explorer membuka Edge: Bagaimana untuk menghentikan pengalihan MS Edge Internet Explorer membuka Edge: Bagaimana untuk menghentikan pengalihan MS Edge Apr 14, 2023 pm 06:13 PM

Internet Explorer membuka Edge: Bagaimana untuk menghentikan pengalihan MS Edge

Apakah yang perlu saya lakukan jika win11 tidak boleh menggunakan pelayar ie11? (win11 tidak boleh menggunakan pelayar IE) Apakah yang perlu saya lakukan jika win11 tidak boleh menggunakan pelayar ie11? (win11 tidak boleh menggunakan pelayar IE) Feb 10, 2024 am 10:30 AM

Apakah yang perlu saya lakukan jika win11 tidak boleh menggunakan pelayar ie11? (win11 tidak boleh menggunakan pelayar IE)

Bagaimana untuk membatalkan lompat automatik ke Edge apabila membuka IE dalam Win10_Solution ke lompat automatik halaman pelayar IE Bagaimana untuk membatalkan lompat automatik ke Edge apabila membuka IE dalam Win10_Solution ke lompat automatik halaman pelayar IE Mar 20, 2024 pm 09:21 PM

Bagaimana untuk membatalkan lompat automatik ke Edge apabila membuka IE dalam Win10_Solution ke lompat automatik halaman pelayar IE

Penghujung era: Internet Explorer 11 telah bersara, inilah perkara yang perlu anda ketahui Penghujung era: Internet Explorer 11 telah bersara, inilah perkara yang perlu anda ketahui Apr 20, 2023 pm 06:52 PM

Penghujung era: Internet Explorer 11 telah bersara, inilah perkara yang perlu anda ketahui

Bagaimana untuk menyelesaikan masalah bahawa pintasan IE tidak boleh dipadamkan Bagaimana untuk menyelesaikan masalah bahawa pintasan IE tidak boleh dipadamkan Jan 29, 2024 pm 04:48 PM

Bagaimana untuk menyelesaikan masalah bahawa pintasan IE tidak boleh dipadamkan

Bagaimana untuk mendayakan fungsi pecutan IE Bagaimana untuk mendayakan fungsi pecutan IE Jan 30, 2024 am 08:48 AM

Bagaimana untuk mendayakan fungsi pecutan IE

Pelayar Win10 Home Edition IE tiba-tiba tidak boleh dibuka Pelayar Win10 Home Edition IE tiba-tiba tidak boleh dibuka Jan 18, 2024 pm 02:57 PM

Pelayar Win10 Home Edition IE tiba-tiba tidak boleh dibuka

Cara menangani halaman utama sistem Windows 10 IE yang terkunci Cara menangani halaman utama sistem Windows 10 IE yang terkunci Mar 28, 2024 pm 01:10 PM

Cara menangani halaman utama sistem Windows 10 IE yang terkunci

See all articles