[PHP] Восстановление картинки

uncle17

Не знаю, как пограмотней озаглавить...
Есть текст вида "UmFyIRoHAM+QcwAADQAAAAAAAACl8HRgkCsADs4DAELwBAACCsmMeFxYLTMdMwYAIAAAADE0LmpwZwDwwM9rFAFVUMiRYYASAepIBDKiJlgIqAqYVEQTBIAiCImBW1bEEwqgqJgRQQQJICI+83/19v13+HeXpmwsgam2UNJEQGB37kA2LcG9PiCOfZQbnsYQsLkMLg1OEdz1yNmWj0hZdAnUzjhhhbJw74Tk4JcRJPvqMxBfkAp3rOOuzkhajeIanF5Pn/7Hff93s0n5Y0l8VGj3r0fmoDJh1t8I+D8hlTL6qADEI1oY8bQZwXWAARNIFT/0+1t7/YmAfeuf88G6Z/IhD373rKZsIl7DcJsTzGPpiEwNmEz951um/RkIy7HPyMGuI27O..."
ну и так далее на 3 мегабайта. Известно, что это - штук 15 JPEG-ов, неправильно приаттаченных к письму. Как получить картинки?

<?
header("Content-type: image/jpeg");
$a="_эта_самая_лабудень";
echo $a;
?>

выводит просто $a в виде текста.

artimon

php -r "echo base64_decode('UmFyIRoHAM+QcwAADQAAAAAAAACl8HRgkCsADs4DAELwBAACCsmMeFxYLTMdMwYAIAAAADE0LmpwZwDwwM9rFAFVUMiR');"

В результате что-то такое вывалилось:
╔Пt`░+нBП
и▄x\X-33 14.jpgПюоk

В общем, похоже надо декодировать с помощью base64_decode, а потом выдирать оттуда картинки.

uncle17

вываливает пустую картинку... блин... интересно... как же ж их выдрать

Fragaria

может там url_decode какой-нить? у джпега очень заметные magic numbers, не перепутаешь (там строчка JFIF должна появиться в первой десятке символов). так что пробуй декодить всеми известными php способами до появления magic numbers. могу сказать, как они выглядят в KOI8: ЪьЪЮ

uncle17

не, там перед всей этой лабудой стояло
Content-Type: application/octet-stream; name="=?koi8-r?B?7s/XwdEg0MHQy8EucmFy?="
Content-Transfer-Encoding: base64

Fragaria

ну тогда ищи символы, которыя я написал, и JFIF, это будет сигналом к тому, что это начало картинки, потом вырезай всё до следующих таких символов.

uncle17

JFIF там нету, а русских символов нету ваапще

Fragaria

погоди-погоди, имеется в виду текст, прошедший base64_decode, а не целиком то, что в аттаче.
ЗЫ можешь прислать мне текст аттачей, я постараюсь вытащить

uncle17

О! Спасиб за наводку! JFIF-ов там не было, но первые символы - "Rar!". Пишу 3 мега рара....

uncle17

Йес! Все жпеги вытащились в рар!

Fragaria

а я тока что провёл эксперимент и вытащил из этой белиберды Jpeg =) (взял сохранил письмо с аттачем как текст, убрал оттуда всё, кроме этого закодированного текста, сделал base64_decode и получил картинку) =)
Оставить комментарий
Имя или ник:
Комментарий: