2014-03-24 74 views
0

我試圖在上載之前檢查圖像。它的類型工作正常,但是當我嘗試上傳尺寸大於2mb的圖片時,它會返回類型相同的錯誤。任何人都可以提供幫助!?PHP中的圖像文件驗證(大小 - 類型)

<?php 
if ($_FILES) 

{ 
    $imageName = date("hms").$_FILES['logo']['name']; 

    if (empty($_FILES['logo']['name'])) 

    { 
     echo "<script type='text/javascript'>alert('من فضلك اختار صورة')</script>"; 
    } 

    elseif (!empty($_FILES['logo']['name'])) 
    { 
     if($_FILES['logo']['type'] != 'image/jpeg' 
     && $_FILES['logo']['type'] != 'image/JPEG' 
     && $_FILES['logo']['type'] != 'image/jpg' 
     && $_FILES['logo']['type'] != 'image/JPG' 
     && $_FILES['logo']['type'] != 'image/gif' 
     && $_FILES['logo']['type'] != 'image/GIF' 
     && $_FILES['logo']['type'] != 'image/png' 
     && $_FILES['logo']['type'] != 'image/PNG') 
      { 
       echo "<script type='text/javascript'>alert('يرجى إدخال صورة من امتداد jpeg, jpg, gif, png فقط')</script>"; 
      } 

     elseif(($_FILES['logo']['size'] >2087152)) 
      { 
       echo "<script type='text/javascript'>alert('اقصى حجم للصورة 2 ميجابايت')</script>"; 
      } 

     else 
      { 
       move_uploaded_file($_FILES['logo']['tmp_name'], "styles/images/$imageName"); 
       mysql_query("UPDATE components SET path='$imageName' WHERE type='logo'"); 
       echo "<script type='text/javascript'>alert('تم رفع الصورة بنجاح')</script>"; 
      } 
    } 
} 
?> 

回答

0

,如果它是你的服務器

打開的php.ini(Linux操作系統:/etc/php.ini中,窗戶:C:\ WINDOWSC:\ WINNT )並更改或添加下面的代碼:

;;;;;;;;;;;;;;;; 
; File Uploads ; 
;;;;;;;;;;;;;;;; 

; Maximum allowed size for uploaded files 
upload_max_filesize = 4M 

保存php.ini並重新啓動服務器

OR

upload_max_filesize

+0

'upload_max_filesize'可以_not_賭注組使用'ini_set'(僅在php.ini或任何的.htaccess,將未使用的ini_set()工作),它是多變PHP_INI_PERDIR。 – CBroe

+0

謝謝你,我已經更新了我的答案 –

+0

Thnx尋求幫助,但是,我更改了代碼,但是當我嘗試上傳超過2 MB的圖像時,它警告我用圖像類型的messg!我想提醒你不能上傳超過2 MB的messg,因爲它出現在我的代碼中! – Tarek