вывод изображения, его канва в base64

Проверенные VDS на SSD в Европе от $4 и России: Датацентр №1 от 150руб | Датацентр №2 от 199руб

Тема в разделе "Вопросы по программированию на РНР", создана пользователем zuxel, 27 ноя 2009.

  1. zuxel

    zuxel Новичок

    Сообщения:
    66
    Adress:
    Vladivostok, Russia
    Country:
    Location on Map:
    вывод изображения, его канва в base64

    Понадобилось разобрать xml выгрузку из 1с, в ней есть base64 закодированные изображения. Проблема в том, что после base64_decode я не получаю изображение. В примечании, программист, который писал выгрузку написал, что закодирован не файл, а данные jpeg "канвы". Первый раз сталкиваюсь с подобным, что за канва, и как из нее сформировать картинку?
    Пример:
    PHP:
    Picture="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
    
+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
    
+Jec2ljJzMi6T8KOgPSOHyjNF+xdW1PS2PoZ7lvzeZEljdOtmwRt+015mbi17yXt
    
a32htbRuxePLd2r/ALbnxOHAkeS2bt6GHozw3DzK1sgMBla1sgBHM0FrjmbgNwxr
    
grKbSYZByO/tcA8eDsfNcr62mrOlm1HNGoq1wZrFj3TrlgaxTFwbtqcpP00/JbJp
    
3+0ZgA2/hrTaSBX6mU/JV1128TX7LXDjGcp+l2CqrnQix1I3kE+7KC0/oUrZfjaP
    
1fQzkOl2He+hXtPuGJx3Gjh5Y+Su4Lq2uRW3lZKPlIJ8Nq4TNpt5A7MYyKbHM/ov
    
pbapqVs8CGZxI9lrq1r611WpqLhf+r9COh3Yqp7g7is9Ct43TDq3FwSLe3BoXZfa
    
c40NGN3mi0Sz791i0ytkl68ZOUBwzHzxVdqmo32s3k+tdVkcskjLeyiqQRG05Wxw
    
5qgGtXOzEb1r5VDwdXunZLJl5o3ix7xvJZWfzbSKGAuAkLHu6rAffLSC3De2taeC
    
2d2BI4LkOlyan/Mda3MseRtTKXuY4gN20cx3jwXR9E1pmojoiOnTia5k4dmjlA5S
    
WGg2YHeFnS1HLrZp7II1viC2RQi7kCYqEQEoihAFiWrJKIDyT2FtNi9gzfEMCqa/
    
7UtpqvYxrnHf7Lvqbt/FbJRC0KNJ7Qm0c8uu2ZYDykjg2Qfk4L4U1Ky3vY0f3s86
    
rpDomOGVwDhwOK8U+j20lSz7ZPDZ4LlfRVvc2rGmRazOBSWNsg3lhofAr0M1Gyk5
    
XnJX3ZBQeeCsb3tra4Rh3zR4HwVPPpE8ZIjcHfI8UK81v8qWxR5FTPs/TbKbmj5K
    
4gxmg8Ni8N1oDqZ2hstMaZaO/Ci+Zjlt3YtfCeLagfovvFqd5HvbM0bncp8W/osZ
    
dWn2uVwZc3EpLvR5InmWRj2EmhJoQcPiCyDmxuYxnM20i6paRUdR2DWj8/wV46+F
    
+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
    
+Rp6srnVml2V20ptoANy2nQIS50tzTBv2mH0mjneGC22769EtlXK5YkthVyWyKaY
    
ovYciExUApVASlUqlUATFFNQgGKiqlMEBFVBWSjBAYr4zW8MwpIwO9O9eigUEcFI
    
BUz6JE8HpOoD7rsQqHU9DfCwvERFNpZs8FueVfKeAysyggLLomWTmcdy+3kLgKmh
    
aQV5rm6toLls8Od0j2gdIU2Ak7+FVvMnazLiYvmZGKmuYVBP00T/AMvGB0+hE6M+
    
jH112rl8DmTStEeBSaVqDJYjGyN8lxI7lZSgAoPaPr4LebCF0NpHDQDIMaYCpxPm
    
vJpmiWdiAY2gP4jYPFWwexraBdKaarL3sXvmMOmaop6nMi3iYwPkiItAlKIigFEo
    
pRAEREBCKcEQEIpooQBExUFAQUqlEQCqmpWKVQGVUUVRASmNURUpKBEQEpgiIBgi
    
IoCFOKIhAoREAREQEIiIDEoiIAiIgP/Z"
     
  2. HEm

    HEm Сетевой бобер

    Сообщения:
    1.474
    Ваш город:
    Наб. Челны, Россия
    Adress:
    Naberezhnye Chelny, Russia
    Country:
    Location on Map:
    возьми jpg-файл, положи его в 1С
    потом скриптом сделай ему base64и сравни, что получилось с тем что лежит в 1С
     
  3. zuxel

    zuxel Новичок

    Сообщения:
    66
    Adress:
    Vladivostok, Russia
    Country:
    Location on Map:
    у меня нет 1с, да и не работал я с ней никогда. Но как я понял, 1с еще как-то по своему переписывает изображение, когда в базу себе пишет или что ты хотел сказать?
     
  4. damngood

    damngood Мозг был, но ушел...

    Сообщения:
    294
    Ваш город:
    Moscow
    Adress:
    Moscow, Russia
    Country:
    Location on Map:
    PHP:
    $picture base64_decode(str_replace("
"""$Picture));

    header('Content-type: image/gif');
    echo (
    $picture);
    -~{}~ 27.11.09 10:50:

    PS: тому кто придумал так хранить данные, надо нагадить в карман... чтобы потом думали башкой
     
  5. vokson

    vokson Новичок

    Сообщения:
    1
    Adress:
    Moscow, Russia
    Country:
    Location on Map:
    Даже после удаления "
" файл не прочитается. У меня вот так:

    PHP:
      $jpg str_replace('AgFTS2/0iI3BTqDV67a9oKcN'''$jpg);
        
    $jpg preg_replace('/[\n\r]/'''$jpg);
        
    $jpg base64_decode($jpg);
        
    $jpg gzinflate($jpg);
        
    $start chr(hexdec('ff')).chr(hexdec('d8'));
        
    $jpg substr($jpg,strpos($jpg$start));
        
        
    $fp fopen($filename'wb'); // Бинарный режим
        
    $test fwrite($fp$jpg); // Запись в файл
        
    if (!$test) echo 'Ошибка при записи в файл.<br/>';
        
    fclose($fp); //Закрытие файла
    Плюс
    PHP:
     $picture base64_decode(str_replace("&#xA;"""$Picture));
    , если требуется.