在 SAE 部署的 PHP 專案中,表單上傳檔案時 $_FILES 為空,提示「未選擇上傳檔案」。檢查表單 enctype="multipart/form-data"、權限、php.ini 皆正常。
<input type="file" name="attaFile"> 中的 name 屬性含大寫字母。SAE (或特定 PHP 版本/配置) 對 $_FILES 鍵名大小寫敏感,導致無法識別。
將 name 屬性改為**全小寫**:
<!-- 修改前 --> <input type="file" name="attaFile" id="attaFile" /> <!-- 修改後 --> <input type="file" name="attafile" id="attaFile" />
對應後端:$_FILES['attafile']。
name="upload_file",避免跨平台大小寫差異。id 可保留駝峰給前端 JS 使用,但 name 必須小寫。form 缺少 enctype="multipart/form-data"php.ini file_uploads = Off 或 upload_max_filesize / post_max_size 過小input name 與後端 $_FILES['key'] 不一致 (含大小寫)client_max_body_size / LimitRequestBody 限制