首頁 >後端開發 >php教程 >即使上傳是可選的,如何確定使用者是否已在 PHP 中上傳檔案?

即使上傳是可選的,如何確定使用者是否已在 PHP 中上傳檔案?

Barbara Streisand
Barbara Streisand原創
2024-11-02 19:03:02513瀏覽

How Can You Determine if a User Has Uploaded a File in PHP, Even if the Upload is Optional?

在PHP 中檢查用戶文件上傳

如何確定用戶是否已在PHP 中上傳文件,即使上傳是可選的?

解決方案:

1.使用is_uploaded_file()

要檢查檔案是否已上傳,請使用:

<code class="php">if(!file_exists($_FILES['myfile']['tmp_name']) || !is_uploaded_file($_FILES['myfile']['tmp_name'])) {
    echo 'No upload';
}</code>
is_uploaded_file() 確保檔案是透過HTTP POST 上傳並防止惡意上傳。

2。帶有FileUpload() 方法的FileUpload 類別

在FileUpload 類別中,您可以實作fileUploaded() 方法:

<code class="php">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>
此方法檢查POST 中是否有任何檔案請求,如果檔案不存在或未上傳,則傳回false。如果檔案遺失,它會設定一個錯誤標誌;如果檔案上傳成功,它會傳回 true。

以上是即使上傳是可選的,如何確定使用者是否已在 PHP 中上傳檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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