在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中文網其他相關文章!