給定的腳本有效地驗證檔案類型合規性。若要額外驗證檔案大小並防止上傳超過500kB,請考慮以下解決方案:
在使用者選擇檔案時利用HTML5 檔案API 決定檔案大小:
<code class="javascript">document.forms[0].addEventListener('submit', function( evt ) { var file = document.getElementById('file').files[0]; if(file && file.size < 10485760) { // 10 MB (this size is in bytes) //Submit form } else { //Prevent default and display error evt.preventDefault(); } }, false);
利用$_FILES 陣列檢索伺服器上的檔案大小:
<code class="php">if(isset($_FILES['file'])) { if($_FILES['file']['size'] > 10485760) { //10 MB (size is also in bytes) // File too big } else { // File within size restrictions } }</code>
如果必要時,請使用upload_max_filesize 設定將上傳限制為適合所有場景的值。請注意,這是一個全域設定。
客戶端驗證透過防止不必要的上傳並提醒使用者檔案問題來提供使用者友善的體驗。伺服器端驗證對於確保安全性仍然至關重要,因為客戶端檢查可能會受到損害。
以上是如何在上傳前驗證檔案大小:客戶端與伺服器端?的詳細內容。更多資訊請關注PHP中文網其他相關文章!