вы не можете точно получить тип файла из mimetype
, так как это пользовательский ввод, который можно легко забыть. Что вы можете сделать, это использовать команду file
в * nix, чтобы убедиться, что это настоящие файлы jpeg или gif. Таким же образом вы можете попробовать загрузить его с помощью GD (расширение изображения) или Image magic .
пример вывода файла
olivier@olivier-laptop:~/trust/public/images$ file verisign_sample.gif
verisign_sample.gif: GIF image data, version 89a, 100 x 60
с помощью оператора backtice вы сможете получить результат и проанализировать его
$line = `file $filepath`
Ваш второй вопрос зависит от браузера: в RFC браузер не должен указывать размер контента при выполнении запроса, поэтому вы не можете остановить загрузку, если файл очень большой. Он будет загружаться до тех пор, пока не достигнет вашей загрузки PHP limit (параметр upload_max_filesize в php.ini), и PHP прервет запрос.