第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP檢查文件是否為圖像

PHP檢查文件是否為圖像

PHP
蕪湖不蕪 2019-12-02 12:56:09
有沒有辦法確保收到的文件中包含圖像PHP?對擴展程序的測試對我來說并不十分安全,因為您可以上傳一個script并將其擴展名更改為所需的擴展名。我也嘗試使用getimagesize,但是可能有一些更適合該特定問題的東西。
查看完整描述

3 回答

?
MM們

TA貢獻1886條經(jīng)驗 獲得超2個贊

獲取mimetype的本機方法:


對于PHP <5.3,請使用mime_content_type()

對于PHP> = 5.3,請使用finfo_open()或mime_content_type()


獲得MimeType的替代方法是exif_imagetype和getimagesize,但是這些方法依賴于安裝適當(dāng)?shù)膸?。此外,它們可能僅返回圖像模仿類型,而不是magic.mime中給出的整個列表。


雖然mime_content_type可以從PHP 4.3,是FileInfo的擴展的一部分(這是默認,因為PHP 5.3啟用,除了Windows平臺,它必須手動啟用,詳見這里)。


如果您不想打擾系統(tǒng)上可用的功能,只需將所有四個函數(shù)包裝到一個代理方法中,該方法將函數(shù)調(diào)用委托給任何可用的方法,例如


function getMimeType($filename)

{

    $mimetype = false;

    if(function_exists('finfo_open')) {

        // open with FileInfo

    } elseif(function_exists('getimagesize')) {

        // open with GD

    } elseif(function_exists('exif_imagetype')) {

       // open with EXIF

    } elseif(function_exists('mime_content_type')) {

       $mimetype = mime_content_type($filename);

    }

    return $mimetype;

}


查看完整回答
反對 回復(fù) 2019-12-02
?
GCT1015

TA貢獻1827條經(jīng)驗 獲得超4個贊

在和getimagesize()應(yīng)制定文件是否是一個圖像的最明確的方式:


if(@is_array(getimagesize($mediapath))){

    $image = true;

} else {

    $image = false;

}

因為這是示例getimagesize()輸出:


Array (

[0] => 800

[1] => 450

[2] => 2

[3] => width="800" height="450"

[bits] => 8

[channels] => 3

[mime] => image/jpeg)


查看完整回答
反對 回復(fù) 2019-12-02
?
慕標(biāo)5832272

TA貢獻1966條經(jīng)驗 獲得超4個贊

使用文件擴展名和getimagesize功能來檢測上載的文件是否具有正確的格式只是入門級檢查,它可以簡單地通過上傳具有真實擴展名和圖像頭的某些字節(jié)但內(nèi)容錯誤的文件來繞過。

為了安全起見,您可以對上傳的圖片進行縮略圖/調(diào)整大小(即使具有原始圖像尺寸),并保存此版本而不是上傳的版本。還可以獲取上傳的文件內(nèi)容并搜索特殊字符,例如<?php查找文件是否為圖片。


查看完整回答
反對 回復(fù) 2019-12-02
  • 3 回答
  • 0 關(guān)注
  • 627 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號