Предотвратяване на качване на изображения с код

PHPclown каза:
Направих малка промяна по кода на @kulov като добавих една функция.

Тествах няколко вариянта и работи.

Код:
 <?php
  function findExtension($filename)
{
    $path_info = pathinfo($filename);
    return $path_info['extension'];
}

 	    //CHECK IF VALID IMAGE TYPE

                if (( ($_FILES["file"]["type"] == "image/gif")

                   || ($_FILES["file"]["type"] == "image/jpeg")

                   || ($_FILES["file"]["type"] == "image/pjpeg")

                   || ($_FILES["file"]["type"] == "image/x-png")

                   || ($_FILES["file"]["type"] == "image/png")))

                {



                $size = intval(($_FILES["file"]["size"] / 1024) / 1024);



                 if ($session == true)

                    $limit = $maxsizemember;

                 else

                    $limit = $maxsizeguest;



                   if ($size > $limit)

                       die ("Файлът трябва да бъде по-малък от $limit Mb.");


                   $open=file_get_contents($_FILES["file"]['tmp_name']);
                   $search=preg_match("/\<\?/", $open);
                   if ($search)
                   {
                   echo "В файла има вграден кода !";
               exit;
                   }
                   else
                   {


                   if ($_FILES["file"]["error"] > 0)  {

                       die("Error: " . $_FILES["file"]["error"]);

                   }

                   else {

                       $n = $_FILES["file"]["name"];

                       $rndName = md5($n . date("d-m-y") . time()) . "." . findExtension($n);

                       $uploadPath = "upload/" . $rndName;

                       $tempPath = $_FILES["file"]["tmp_name"];

                       move_uploaded_file($tempPath, $uploadPath);

                  }
                   }



                }


                else
                   {
                   die("Файлът "{$_FILES["file"]["name"]}" не е разпознат, като изображение!"); }
?>

Каква е промянатас моя код, че нещо не виждам ? КОДА РАБОТИ, аз си го тествах на мой скрипт ..
 
Без функцията, която съм сложил в началото на кода не работи :lol:
Както виждаш много хора го казаха :)
Освен това при else незадаването на { } в края на кода ми дава също грешка.
 

Back
Горе