首頁  >  文章  >  後端開發  >  上傳的檔案真的是圖像嗎?如何在 PHP 中驗證映像檔。

上傳的檔案真的是圖像嗎?如何在 PHP 中驗證映像檔。

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-03 11:33:29222瀏覽

Is the uploaded file really an image? How to verify image files in PHP.

在PHP 中驗證影像檔案

在PHP 中接收檔案時,出於安全原因,確保它們是真實影像至關重要。僅依靠檔案副檔名檢查可能是不可靠的,因為惡意使用者可以使用類似映像的副檔名重命名腳本。

使用 getimagesize()

getimagesize() 函數提供決定接收到的檔案是否為影像的綜合方法。它會傳回一個包含圖像資訊的數組,包括其寬度、高度和 MIME 類型。實作方法如下:

<code class="php">if (@is_array(getimagesize($mediapath))) {
    $image = true;
} else {
    $image = false;
}</code>

如果 getimagesize() 函數成功檢索到一組訊息,則表示該檔案是真實的圖像。否則,它可能是非圖像檔案。

範例輸出

以下是getimagesize() 的輸出範例:

Array (
[0] => 800
[1] => 450
[2] => 2
[3] => width="800" height="450"
[bits] => 8
[channels] => 3
[mime] => image/jpeg)

此輸出顯示該檔案確實是寬度為800 像素、高度為450 像素、MIME 類型為image/jpeg 的影像。

以上是上傳的檔案真的是圖像嗎?如何在 PHP 中驗證映像檔。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn