2015-07-10 45 views
0

在我的表單中,我使用了兩個文件輸入,併爲它們中的每一個設置了MAX_FILE_SIZE,當我使用大於MAX_FILE_SIZE的文件提交表單時,它不會執行任何操作。我如何處理這個報告用戶的文件大於最大尺寸? 我可以做一個PHP上傳類,但是當我使用MAX_FILE_SIZE,它沒有工作或mybe類沒有被調用。如何理解文件大小超過FILE_MAX_SIZE併發送錯誤?

<div class="form-group"> 
         <label for="comp_file">فایل فشرده : </label> 
         <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_zipfile_size; ?>" > 
         <input type="file" name='comp_file' class="form-control" id="comp_file"> 
         <p class="help-block">فایل قابل دانلود را انتخاب کنبد. 
         فایل باید در حالتد فشرده قرار داشت باشد.</p> 
        </div> 

        <div class="form-group"> 
         <label for="file_image">عکس مربوط به مقاله : </label> 
         <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $max_image_size; ?>" > 
         <input type="file" name='file_image' class="form-control" id="file_image"> 
         <p class="help-block">در صورتی که عکسی مناسب با مقاله در اختیار دارید ارسال کنید.</p> 
        </div> 
+0

似乎當文件大於FILE_MAX_SIZE提交沒有設置。 –

回答

0

MAX_FILE_SIZE用於瀏覽器的客戶端。因此,你不能相信它。

當你在PHP大小的文件,手動控制它的大小:

if ($_FILES["comp_file"]["size"] > 1024 * 1024 * 8){ //8mo, adjust as you need 
    exit("File too big"); 
} 

Obvisouly,這exit是有點苛刻。適應它你需要的東西。

+0

是的,我知道,但我想仔細檢查併發送php文件,之後您可以檢查文件大小,但使用MAX_FILE_SIZE您可以防止發送文件 –

+0

MAX_FILE_SIZE完全是客戶端。如果瀏覽器不尊重它,那你就無能爲力了。 – blue112

0

如果文件大小大於最大文件大小,則向用戶驗證最大文件大小上傳的用戶驗證,而不是向用戶發送消息並停止提交操作。 或者您可以檢查服務器大小的文件大小,並通過使用php本身向用戶填充警告消息。

相關問題