简体   繁体   中英

Image file validation in PHP (Size - Type)

Im trying to check an image before uploading it. It's working fine with type but when i try to upload a picture of size larger than 2mb it returns the same error of type .. anyone can help !?

<?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>";
            }
    }
}
?>

if it is your server

Open your php.ini (linux: /etc/php.ini , windows: C:\\WINDOWS or C:\\WINNT ) and change or add the following piece of code:

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

; Maximum allowed size for uploaded files
upload_max_filesize = 4M

Save your php.ini and restart your server

OR

upload_max_filesize (in php.ini or .htaccess only, won't work using ini_set())

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM