如何驗證檔案是否是用 PHP 上傳的?

DDD
發布: 2024-10-31 06:25:02
原創
854 人瀏覽過

How Can I Verify If a File Was Uploaded in PHP?

PHP 檔案上傳可選檢查

執行表單驗證時,驗證使用者是否已上傳檔案至關重要,尤其是當上傳是可選的時。忽視這一點可能會導致不必要的驗證工作,從而可能危及安全性。

檢查檔案上傳狀態

要確定檔案是否已上傳,您可以使用 is_uploaded_file() 函數。如果指定的檔案是透過 HTTP POST 請求上傳的,則此函數傳回 TRUE。這是防止惡意行為者利用腳本對他們不應存取的檔案進行操作的關鍵步驟。

<code class="php">if (!file_exists($_FILES['myfile']['tmp_name']) || !is_uploaded_file($_FILES['myfile']['tmp_name'])) {
    echo 'No upload';
}</code>
登入後複製

此程式碼段檢查名為 myfile 的檔案是否存在,然後確認其上傳狀態。如果任一條件失敗,則表示沒有上傳檔案。

使用 FileUpload 類別

在更複雜的場景中,您可以使用類別來封裝檔案上傳流程。以下是一個範例:

<code class="php">class FileUpload {
    // ... (other methods here)

    public function fileUploaded() {
        if (empty($_FILES)) {
            return false;
        }
        $this->file = $_FILES[$this->formField];
        if (!file_exists($this->file['tmp_name']) || !is_uploaded_file($this->file['tmp_name'])) {
            $this->errors['FileNotExists'] = true;
            return false;
        }
        return true;
    }
}</code>
登入後複製

此類提供了一種便捷的方法來確定文件的存在和上傳狀態,並在內部處理必要的檢查。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!