首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

新浪 SAE 環境檔案上傳失效?檔案欄位名稱區分大小寫導致

     編輯:PHP 綜合知識

問題現象

在 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 必須小寫。
  • 上線前在開發、測試、生產環境完整測試上傳流程。

延伸:檢查 $_FILES 為空的常見原因清單

  1. form 缺少 enctype="multipart/form-data"
  2. php.ini file_uploads = Off 或 upload_max_filesize / post_max_size 過小
  3. 表單 input name 與後端 $_FILES['key'] 不一致 (含大小寫)
  4. Nginx/Apache client_max_body_size / LimitRequestBody 限制
  5. SELinux / AppArmor 權限阻擋臨時目錄寫入
  6. SAE / 某些雲平台對臨時目錄、檔案大小有額外限制
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved