Вопросы:
Примечание:
Функция getimagesize тоже показывает что загружаемый файл - image/jpeg
UPD:
Я заметила что качество изображения ухудшается. Думаю, при сохранении iPad сохраняет и оригинал и сжатый .jpg (чтобы показывать на своём экране). Наверное, приложение Яндекс.Диск просто имеет доступ к оригиналам изображений, а вот через форму загрузки файлов в браузере отправляются сжатые .jpg копии.
Если всё так, тогда вопрос - как сделать так, чтобы пользователи сайта могли загружать оригинальные изображения со своих айпадов, а не ухудшенные копии?
Никогда не доверяйте на 100% $_FILES['upfile']['mime'] всегда используйте fileinfo, это мне помогло.
Core PHP(http://php.net/manual/en/features.file-upload.php):
$finfo = new finfo(FILEINFO_MIME_TYPE);
$checkMimeFile = array_search(
$finfo->file(
$_FILES['upfile']['tmp_name']
),
[
'jpg' => 'image/jpeg',
'png' => 'image/png',
],
true
)
if (false === $checkMimeFile) {
throw new RuntimeException('Invalid file format.');
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей