Подскажите по возможным проблемам картинки. Правильно ли я делаю? 1. Проверка на тип файла - явная по расширению, если не jpeg, png, gif - вышел 2. Проверка на тип файла - функцией PHP: getimagesize , если не jpeg, png, gif - вышел 3. Размер файла - свыше 3 000 000 байт (3-х мегов) - вышел 4. Против метакода внутри картинки, вроде как помогает ресайз - он будет. И еще вопрос, изучая тему сталкиваюсь везде что кодируют имя файла-картинки хранящейся в на сервере, вопрос такой если мне удобно сделать так: Название_дата_время_пользователь . JPG Зачем кодировать? Как по ней можно выйти на БД? Что не так?
Та не парся. Проверяешь без ошибок ли загружен файл, потом getimagesize выдает тебе формат. Затем сравнивай форматы в нижнем регистре (а то .JPG не пройдет твою проверку). Манипуляции с размером. Создаешь новую, в нее пихаешь эту (ну или как там тебе удобей), сохраняешь в рандомным именем. Тот же md5 + случ. строка или своя функция рандомного названия. И все, сохранил адрес.
Зачем сохранять с рандомным именем? Мне удобней по алфавиту, но названиям деталей...зашифрую я название, даже пусть оно нормальное будет в БД лежать, мне надо чтоб в папке на серваке их визуально картинки было удобно смотреть. и вот еще хотел спросить про форматы в нижнем регистре JPG? что это?
A.B.C. ну вот тебе удобнее чтоб имя носило какуюто смысловую нагрузку - именуй так. Мне наоборот, чтоб название просто не повторялось и было примерно таким "da8fs93jhfslkjfs". Это не столь важно. мелочь обычная if($format == strtolower('GIF')). Просто если грузишь картинку, например в фотоапарата, там почти всегда расширение файла написано верхним регистром, и если ты сравниваешь как if($format == 'gif'), то картинка any.GIF - уже не пройдет твою проверку.
Главное проверяй размер картинки в пикселях на высоту и ширину. А то могут тебе загрузить GIF одноцветный 60000 х 200, размер будет не большой, зато когда GD её попытается ресайзнуть, у сервера случится приступ паники от того объёма оперативки, которое потребуется В общем нужно ограничивать максимальные стороны картинки, особенно если работаешь с GD, который не самый шустрый и эффективный.
Psih начал хорошо, кончил плохо. По сравнению с ImageMagic GD очень шустрый. Гугль и тесты вам в руки! А размер, да, надо проверять, т.к. внутреннее представление картинки при обработке (хоть в GD, хоть где) это непожатый битмап. такой гифчик был бы просто бомбой