За последние 24 часа нас посетили 16817 программистов и 1646 роботов. Сейчас ищут 883 программиста ...

Получить результат выполнненого скрипта

Тема в разделе "Прочие вопросы по PHP", создана пользователем VLK, 9 апр 2014.

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    есть скрипт который генерирует рисунок (png файл), я его читаю с удаленного сервера так:

    Код (Text):
    1.  
    2. $url = 'http://site.ru/img.php';
    3.  
    4. $data = file_get_contents($url);
    5. $imageData = base64_encode($data);
    6. $src = 'data: '.'image/png'.';base64,'.$imageData;
    7.  
    8. echo '<img src="'.$src.'">';
    В итоге у меня выводится этот рисунок, в src пишется за место URL много букв и символов (http://s003.radikal.ru/i204/1404/1e/455fe537baed.jpg).

    Вопрос, а если скрипт с рисунком находится у меня на сервере т.е. $url у меня является:
    Код (Text):
    1. $url = dirname ( __FILE__ ) . '/img.php';
    то уже ни чего не работает, т.е. в данном случае file_get_contents считывает текст из файла, вопрос как сделать что бы работало так же как и при удаленном сервере.

    Обращаться на свой же сайт через http не вариант, и указывать прямую ссылку на скрипт в:
    Код (Text):
    1. echo '<img src="http://site.ru/img.php">';
    тоже не вариант.

    Еще пользуясь случаем вопрос, если я передаю GET параметр т.е.:
    Код (Text):
    1. $url = 'http://site.ru/img.php?act=123456';
    я могу потом из этого набора символов (http://s003.radikal.ru/i204/1404/1e/455fe537baed.jpg) вычислить что было передано (123456)?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ob_start() + include + ob_get_clean()
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    А можно поподробнее, а то я что то смотрю описание и не могу въехать как это все объединить
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    че объединять, именно в таком порядке
     
  5. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    file_get_contents чего тогда мне делать?
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Просто открой буфер, приинклудь свой код, закрой буфер. Все, что твой код сгенерит, будет в буфере. Не сам он, а его выхлоп.

    З.Ы. Инклудить, кстати, можно сразу хтмл-ку, сгенеренную заранее. Да и вообще все что угодно можно инклудить, даже небо, даже звезды, даже аллаха. Все, что сервер не сможет выполнить как скрипт, он вернет как строку. Оберни такой инклуд в мастер-вставку и будет чудо.
     
  7. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Спасибо, разобрался (всем большое спасибо):

    Код (Text):
    1. $url = dirname ( __FILE__ ) . '/img.php';
    2.  
    3. ob_start();
    4.  
    5. include $url;
    6.  
    7. $data = ob_get_clean();
    8.  
    9. $imageData = base64_encode($data);
    10. $src = 'data: '.'image/png'.';base64,'.$imageData;
    11.  
    12. echo '<img src="'.$src.'">';
    PS все правильно сделано? не надо там случаем ни чего закрывать / выгружать?
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Не надо.
     
  9. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Еще раз спасибо.