sim3x, спасибо за ответ. А можно еще вопрос. Почему если разбить строку на массив, этот массив потребляет ресурсов меньше? Он ведь также в памяти находится, как и строка?
sim3x, по-моему, тут дело в общих принципах. Но если для вас так важен ЯП - PHP или Javascript.
Текстовый файл может быть достаточно большого размера - несколько МБ.
А если не на сберовскую карту выводить, а на другую? Карту от яндекса, например? У яндекса ведь есть пластиковые карты. И ими можно оплачивать покупки в магазине. Снимать с такой карты деньги, если я не ошибаюсь. Если я буду на карту яндекса переводить ЗП, у меня могут возникнуть такие траблы, как с картой сбера?
А как это включается / отключается? Вдруг я буду пользоваться другим хостингом, а там это не будет включено по умолчанию. А это, как вы сказали, очень небезопасно.
Дмитрий Дарт, зачем проверять и тип, и расширение? Если можно только расширение? Посмотрите, пожалуйста, последний комментарий к ответу xmoonlight. В нем я написал подробности.
Может. Надо проверять "тело" файла на корректность того, что это - именно файл изображения.
Например, для PHP: функция GD-библиотеки getimagesize().
Я попробовал поместить в папку с изображениями php скрипт с таким кодом:
while (true) {
echo '123';
}
Я попробовал открыть его (через запрос в браузере), он открылся, и у меня в браузере стало показываться, что страница загружается. Бесконечно.
Потом я добавил ему расширение jpg: script.php.jpg
Пробовал и вот так: script.jpg
Снова открываю через запрос в браузере. Теперь не показывается, что страница вечно загружается. Она загрузилась и все. Вместо картинки черный фон и небольшой контур квадрата.
Так зачем же проверять "тело" файла? Если у меня валидация на расширение (последние символы в названии с конца после точки).