首頁 > 後端開發 > php教程 > 如何可靠地確定 PHP 中的檔案是否已上傳?

如何可靠地確定 PHP 中的檔案是否已上傳?

DDD
發布: 2024-11-01 06:19:31
原創
907 人瀏覽過

How to Reliably Determine if a File Was Uploaded in PHP?

在 PHP 中評估使用者檔案上傳

驗證使用者輸入時,確保檔案上傳的完整性至關重要。但是,某些表單可能允許可選上傳。在這種情況下,跳過尚未提交文件的使用者的驗證至關重要。

確定檔案上傳存在

要檢查檔案是否已上傳,請使用 $_FILES ['myfile']['size']

使用is_uploaded_file()

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

正如官方文件所解釋的,這個函數:

  • 確保檔案是透過HTTP POST方法上傳的。
  • 防止惡意嘗試存取意外檔案。

範例實作

考慮 FileUpload 類別中的範例:

<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>
登入後複製

此方法先檢查 $_FILES 陣列是否為空。如果沒有,它會檢索上傳的檔案並使用 file_exists() 驗證其存在。最後,is_uploaded_file() 確認檔案是否確實上傳。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板