雖然你可以使用一個類似的技術以拒絕過大的文件(通過檢查$uploadedfile_size變量),但是通常這不是一個好主意。在得到這個變量之前,這個文件已經被上載並保存在temp目錄中。如果你試圖因為磁盤容量或者是帶寬的原因拒絕文件的上載,事實上那個大文件還是被上載了(盡管它們立即又被刪除了),這對於你來說也許是個問題。
更好的方法是,你可以提前告訴php你希望可以接受的文件的大小的上限。
有兩個方法。
第一個是調整你的php.ini文件中的upload_max_filesize設置。默認值是2mb,所以如果你想要接受更大的文件,你需要立即改變這個值。
第二個方法是在你的表單中包含一個隱含input域,它的名字是max_file_size,在其中你可以定義你所能接受的最大的文件的大小。出於安全的原因,這個值不能超過你的php.ini文件中的upload_max_filesize的設置,但是它提供了一種方法在不同頁面中各自定義上載文件大小的上限。例如,下面的表單,只允許我們最大上載1k字節的文件(1024字節):
復制代碼 代碼如下:
<form action="fileupload.php" method=post
enctype="multipart/form-data">
<p>select file to upload:
<input type=file name="uploadedfile"></p>
<p><input type=submit name="submit" value="submit"></p>
<input type=hidden name=max_file_size value=1024>
</form>