PDA

Просмотр полной версии : как определить точный формат изображения средствами php?


Дикс
16.08.2009, 14:55
качаю с вк капчу, отправляю на антикапчу как jpg, пишет что ERROR_IMAGE_IS_NOT_JPEG

раньше открывал в irfan view - тот исправлял расширение сам. а сейчас молчит - словно это корректный jpg, тока антикапча с этим не соглашается

что делать?

inlanger
16.08.2009, 14:56
Открывай пыхом, уменьшай на 1 пиксель, сохраняй и шли на антикапчу )

Sharky
16.08.2009, 15:15
определяй mime тип и по нему уже смотри

Pashkela
16.08.2009, 15:39
преварительно сохранять картинку в нужном тебе формате

geforse
16.08.2009, 17:22
как определить точный формат изображения средствами php?


$format = explode(".",$img);
echo $img[1];

[QwyZ]
16.08.2009, 17:25
header(Mime-type...);

chto takoe

Sharky
16.08.2009, 17:35
или открвай файл и парсь первую строку...там прописаны форматы.

Prodex
16.08.2009, 18:32
$image = getimagesize($pathImage);
$ex = substr($image['mime'], strpos($image['mime'], '/') + 1);

В $ex храниться расширение: jpg, jpeg, gif, bmp и т.д.

А полный print_r($image) выглядит так:

Array
(
[0] => 3264
[1] => 2448
[2] => 2
[3] => width="3264" height="2448"
[bits] => 8
[channels] => 3
[mime] => image/jpeg
)

Ru}{eeZ
16.08.2009, 19:12
Дикс уже захлебнулся в ответах))

Дикс
16.08.2009, 23:56
спасибо
тока попробуйте на антикапче загрузить в качестве тестовой капчи любую капчу с контакта
она даже на странице не отображается!

b3
17.08.2009, 00:06
$data = file_get_contents('url_to_captcha');
file_put_contents('cap.jpg', $data);
Дальше шлеш на антикапчу. Проверяй как ты сохраняеш капчу с вкантакта, у тебюя гдето в синтаксисе ошибка, потому как антикапча не проверяет майм типы, она тупо смотрит на то что после точки, возможно у тебя не .jpg а .JPEG или еще какаято мелко заметная ошибка.
ЗЫ капчу на вкантакте можно забирать тупо файл_гет_контентом, вкантакт не привязывает сессии и тд к капче.

Дикс
17.08.2009, 11:52
господи какой же я идиот
сохранял тело скачанной капчи вместе с http хидерами