Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 28
от 09.03.2005, 19:30

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 1


Вопрос № 17826: Здравствуйте, уважаемые эксперты! Мне нужно точно определять GIF, PNG и JPEG файлы. Данные передаваемые браузером можно ведь подделать? Что, возможно, приведёт к неправильной работе какого-либо скрипта. Я делаю галерею фотографий и не хочу ни...

Вопрос № 17826
Здравствуйте, уважаемые эксперты!
Мне нужно точно определять GIF, PNG и JPEG файлы. Данные передаваемые браузером можно ведь подделать? Что, возможно, приведёт к неправильной работе какого-либо скрипта.
Я делаю галерею фотографий и не хочу никаких проблем в результате действий особо любопытных посетителей.
Как это сделать?
Заранее спасибо.
Отправлен: 04.03.2005, 19:22
Вопрос задал: Хуснуллин Давид Рифкатович (статус: 3-ий класс)
Всего ответов отправлено: 1

Отвечает: antonkedenko
Здравствуйте, Хуснуллин Давид Рифкатович!
---------
В РНР есть функция определение типа изображения:
$size = getimagesize ("img/flag.jpg");
После чего переменная $size становится масивом, где:
$size[0]= содержит ширину изображения: width
$size[1]= содержит высоту изображения: height
$size[2]= ТИП изображения, возвращает число от 1 до 11. Расшифровка результата:
1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF, 8 = TIFF(байтовый порядок motorola), 9 = JPC, 10 = JP2, 11 = JPX.
$size[3]= содержит текстовую строку вида: height="yyy" width="xxx", которая может использоваться в теге img как:
echo "<img src="img/flag.jpg" {$size[3]}>";
======
Тоесть, как мы видим, имя файла абсолютно не играет никакой роли. Можна установить проверку: если тип НЕ 1,2,3,6 тогда вывести ошибку о недопустимой операции, но тут уже ваша фантазия :)
Но в этой функции есть нюанс:
Если имя файла будет "корявое" то РНР выдаст предупреждение, тоесть вам нужно перед началом работы проверить допустимые значения.
Ну а "вес" картинки можна определить по ф-ци
$filesize=filesize($upload_file_name);
Переменная $filesize будет иметь число, которое равно количеству байт изображения, тоесть если вам нужно получить "вес" картинки в КБ, то это будет выгледить: $kb=ceil($filesize/1024); Ceil() = округляет дроби в сторону увеличения.
=====
Спасибо за внимание.
icq 249960, 2499605
Ответ отправил: antonkedenko (статус: 1-ый класс)
Отправлен: 04.03.2005, 22:00


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Отписаться

В избранное