Як в скрипт вставити картинку.

Велика частина вмісту web-ресурсів сьогодні динамічно формується серверними скриптами . Але подібним чином виводиться переважно текстова інформація (розмітка сторінок, таблиці стилів, карта сайту). Зображення, музика, відео, архіви, як правило, розміщені на сервері у вигляді статичних файлів. Втім, іноді виникає необхідність формувати за допомогою сценарію і подібні дані. Так, якщо потрібно виводити статичну картинку, її цілком можна цілком вставити в скрипт.
Вам знадобиться
  • - можливість створення або редагування серверних сценаріїв.
Інструкція
1
Вставте дані картинки в скрипт у вигляді тексту, що є частиною програмного коду. Використовуйте найбільш зручні структури даних та синтаксичні конструкції. Вибір зазвичай визначається можливостями застосовуваного мови програмування. Так, в багатьох випадках зручно вставити картинку в скрипт у вигляді звичайної рядка символів, вміст якої представляє собою дані зображення, закодовані алгоритмом кшталт Base64. В PHP це може виглядати наступним чином (картинка розміром 2x2 пікселя у форматі GIF): $ str = 'R0lGODlhAgACAIAAAAAAAP///yH5BAAA'. 'AAAALAAAAAACAAIAAAIDDBAFADs ='; Також часто використовуються літерали масивів.
2
Підготуйте зображення висновку. Якщо потрібно, здійсніть декодування вихідної інформації. Ви повинні отримати буфер, що містить бінарні дані картинки. Приміром, на мові PHP декодування рядка, наведеною в першому кроці, може виглядати так: $ text = base64_decode ($ str);
3
В заголовок HTTP-відповіді сервера додайте поле, що містить дані про довжину тіла відповіді (розмірі виведеної картинки). Обсяг визначте, використовуючи функції або методи, які повертають довжину масивів, рядків, і т.д. Наприклад: header ('Content-length:' .strlen ($ text));
4
Додайте в заголовок HTTP-відповіді сервера поле, яке вказує на mime-тип переданого вмісту. Наприклад: header ('Content-type: image/gif'); Тип вмісту повинен бути вже відомий (визначений на основі формату вихідної картинки).
5
Якщо необхідно форсувати збереження картинки замість її відображення браузером, додайте відповідне поле в заголовок відповіді: header ("Content-Disposition: attachment; filename = my_image.gif");
6
Якщо потрібно уникнути кеширования зображення браузером, введіть в HTTP-відповідь поля Pragma і cache-Control з відповідними значеннями: header ("Pragma: no-cache"); header ("Cache-Control: no-cache, must -revalidate, no-store "); header (" Cache-Control: pre-check = 0, post-check = 0 ", false); Також варто віддавати дати останньої модифікації і закінчення терміну дії ресурсу. При цьому друга з них повинна бути більш пізньої: header ("Expires: Mon, 4 Jan 1993 00:00:01 GMT"); header ("Last-Modified:" .gmdate ("D, d MYH: i: s" ). "GMT");
7
Сформуйте тіло HTTP-відповіді сервера, що представляє собою дані картинки. Використовуйте функції або методи об'єктів, що забезпечують виведення бінарних даних без їх додаткової обробки. Наприклад: printf ('% s', $ text);