1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

"Вшиваем" графику в php файл.

Тема в разделе "Web Coding", создана пользователем REALiSTiC, 14 авг 2006.

Статус темы:
Закрыта.
Модераторы: latteo
  1. REALiSTiC

    REALiSTiC

    Регистр.:
    30 мар 2006
    Сообщения:
    354
    Симпатии:
    126
    Очень полезно уметь обходиться без лишних внешних файлов.
    Например, надо использовать фоновое изображение и неразумно использовать его как внешний файл.

    Итак, начнем.

    Создаем файл с любым именем, например, dump.php.
    Этот файл будет считывать создержимное рисунка и кодировать в base64.

    Вот его содержимое:
    Код:
    <?php
    $fname = "image.gif";
    $f = file_get_contents ($fname, "r");
    echo base64_encode($f);
    ?>
    
    В переменную $fname заносим имя нужного изображения (не обязательно gif, можно и png).

    Выбрав нужный файл, запускаем dump.php. Содержимое, полученное на экран, где-нибудь сохраняем, пригодится.


    Теперь создаем файл непосредственно выводящий графику из полученного шифра.
    Создаем файл с любым именем, например, image.php.

    Вот его содержимое:
    Код:
    <?php
    function head() 
    {
    header("Content-type: image/gif"); //Тип изображения
    header("Content-length: 8301"); //Размер изображения в байтах
    echo base64_decode(''); //Сюда в кавычки вставляем ранее сохраненный код
    }
    if ( array_key_exists("head", $_REQUEST) && $_REQUEST["head"]==1) { head(); die(); }
    ?>
    
    <html>
    <head>
    <title>GRAPHiX iN PHP</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    </head>
    <body>
    <img src="<? echo $_SERVER["PHP_SELF"]; ?>?head=1">
    </body>
    </html>
    
    1. Берем макет данный выше.
    2. Ставим нужный тип изображения (рекомендую gif).
    3. Смотрим размер изображения в свойствах файла и записываем куда нужно.
    4. Внедряем код функци для нужного изображения.

    Вот пример готового файла (здесь код разделен при помощи точки и кавычки, можно разделять любое кол-во символов:(

    Код:
    <?php
    function head() 
    {
    header("Content-type: image/gif"); //Тип изображения
    header("Content-length: 3817"); //Размер изображения в байтах
    echo base64_decode(
    'R0lGODlhlgAyAPcAAAAAAP///+SySC4kDph3MIlrK6eDNWpTIh4YCg8MBXpfJj0vE9WmQ8aaPkw7GLaOOltHHf7+/v39/fv7+/'.
    'j4+Pf39/X19fLy8vHx8e/v7+zs7Ovr6+np6ebm5uXl5ePj4+Dg4N/f393d3dvb29jY2NfX19TU1NLS0tHR0c/Pz8zMzMvLy8jI'.
    'yMfHx8XFxcLCwsDAwL6+vry8vLu7u7m5uba2trS0tLOzs7CwsK+vr62traqqqqmpqaenp6SkpKOjo6GhoZ6enp2dnZubm5iYmJ'.
    'eXl5SUlJKSkpGRkY+Pj4yMjIuLi4iIiIaGhoSEhIODg4CAgH9/f319fXp6enl5eXd3d3V1dXJycnFxcW9vb21tbWtra2lpaWZm'.
    'ZmVlZWNjY2BgYF9fX11dXVtbW1lZWVhYWFZWVlVVVVNTU1BQUE9PT01NTUtLS0lJSUdHR0RERENDQ0FBQT8/Pz09PTo6Ojg4OD'.
    'c3NzU1NTQ0NDMzMzExMS4uLi0tLSoqKigoKCcnJyUlJSIiIiEhIR8fHx0dHRoaGhkZGRYWFhUVFRMTExEREQ4ODg0NDQsLCwkJ'.
    'CQcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
    'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
    'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
    'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'.
    'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAlgAyAAAI/wADCBxIsKDBgwgTKlzIsK'.
    'HDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs2ZBIm/OxEiIU6fNnxZTdIFggMAAKhIkRIggUChR'.
    'o0iVMgVKdaHQAgKyMkjgoQKFCRGuZhWwtevXpVXTFsTQBSuDBlkhLNmAoYKGtmThCpBLtwJYtYADcDkQ10DWA1hGdMjQhfBeww'.
    'IQK85QQelKFSICzDA4I7PDDDNUKFQxI0NFEZsVLlmQtQGAsQe8tCghhbUA17Bll+hw4S9BEUzeCNdhELNmikIHIOiygAuGpUsC'.
    'LUDAZenUg0TyJFgwINAStE27KP8asCABlxBoQXABkEdIQvUIFuQZAp4ghkB6DyAY60DLDRmE5LdfVv3d0MIIGlBwnVAIHGDAgw'.
    'vQkFRYXSjHnHP1BZBBcAAAoEgXKRCEVwNYHdAEBUMMoJcDPUwwgVQE6fAGBA+M1cAAVXwlwRQIFMDAWAp0scEEGXChgAAP5JHU'.
    'CEwwYZpARmaVpIsTDjSFYwIgAMFYCETxAxlYasmllzOY0IEFEgjEI1a3HVCeFyV85QVWJEZ24osRYDBFAg5qVUACK0ygmW1jGS'.
    'BHBnrUmJUBcWBwAROCKDKFQEIkABkBBGilSAYXDPUjA1geEMUFVmC5wA1eNHhAAilEsIQDYwn/sEAOF5TQBQDOZZDAj0j6kakA'.
    'BgTSRBK7SunrosIScYMKHqAp2AK8/nkAXAqA8YENhC566AUo5nHAp2wKUAAYFwRwxq+F0tHElmMRwAYIYSzQwFYb7JCAogSoAW'.
    'tWC/gQBrsCDLCHogbQYUKx/IqBZQFfUCCIXlkNcMMSCRxpIhWhMsKrA2lA4UbGG3dsBA4rfIDmFPuKKwdkh2mhBrqL0hFCB0fc'.
    'K+V26Xqgq401EhAHHDBDQMUZAC9gQxwsIwAEoQhgQWgBY9ABWQFpYIGlAACEC6wcMQwQawOFSGEzsHEowmvA7BogCBVPNHL2AG'.
    'mv/UQRyzarAwK8boXEAGcz/7BIAjwL4PMKTozNAHVHZqVAGCfskDIBhB1ABuBjbdUGwLIuAXDBWzhWwBuGQLxAERpnhQASfyja'.
    'ZqzA0tFF4oeFMfbWADPQSI0NJICGFGjUfvttukuxRBA0nMBBBW+wXC0MZVy9wOORk9HE7BBwUYjoZ8hQBewHEDaAGZgfEAfmAb'.
    'uBbu5zZGpAAlJ4DRsgXjMAgRxLDKgV6+KucX3lCcwuuPmFgtUDBqCHLjRBD+gygAAJaEAj8OAFCGqB+/jFBB0M4TVjWQD3vHeF'.
    'O6DrAX0YTKxs14PkwcZBgsCD1hJAPqzlgWVkKYCb/vAFLWQLSd1LgBuYkIar4S8yZrCfAP8U4L/IlE5xClhVAgpwhyS4DUhJ7B'.
    '8TkwCEGqgABKSCHdZ8MIQh9IFlA2BZ99QWr1hBAAtVCGOsAFAEDB6mf2tQBMSMcraxAEALKWOdARbwhkGoboSrygPMsuIj2Fwu'.
    'VgPQ2mGEeIA5xEEPRwJAExgph0dGcgg6gAENpPAEOMAQAEZAAhG+qBU3RgaOfYAZAtJgqa8pgmJmbEMXrGDKvLEOAEqYgwP+WD'.
    'kEiGGJdQTSE2NVAFMeQA5XsyVssiW+P2yJAHmYAjPh4EzB5aEHNTiDqjwZKwRYYQlHGCYRzfiGLmiBcnZ0QDAJ8IcnZGsBZbiC'.
    'GG6IJCFiTQpMQAMiGgT/MX5hoZMAcIAi18e6ByTCmISA4WGu5qZYPWABv1pAFaCQrYdGtAo4EAPAAKDFA9zBC3BwzFbeWbV5si'.
    '4/sWpkFLI1gDBQwQs3/JMpBZCALdjBAQ1oQCIS0M8EtGGJe7HD1RRQ0QTUQRGqM0BCR7iAPgz1EcEk5Bx6YIMjsq4AU+UBwhow'.
    'iAkeZgEiHYAbWEqGKsAUfwxYgCPeRob2jeUBhaBCFNJYOQj0IQ2BgNkC9uCYA6ihEKpTwB2KZTszpOxwhGLAAOQgBj1cDQAJTI'.
    'Ae0uBVAxSihQWogxR4UIMxYFazPNACwIIEvqgCawBpoKuUDnGFKBhhmFkhgAOmY6NF/2RBCtz8kxqk0IQgtAErBUBAHbjgBTW0'.
    'UnAJsN8C5ACwAvBBD2wyQB8MNwA7yJFAH/0CGPZwpAc4YA98awAEBiHLLvABAj8SLx36sMvYLkAPWSACNmGQhvYK7r3x7YFob/'.
    'MnHMTADHyCDAMK8F4q9IAIgDDMn9xQhd6WAaeCE2jAsKQA+EKhB3IAQBumwIQmHGEHQ0gDABgsBSyg0QyB6BAg0kCoB4SrAH0o'.
    'wyCUpxfF5iELcWiQfLCgBSxMoQp0AEAh2DAFOjgiEW6gwhWycIUpyMERAFgEHXrMBkOoGA0NLgI2X8CCKqQYAH/AchO0TAM0AI'.
    'AQaRACDXCwAyKoAf8QHXIEHaiwgx30IAhd+AMA7NAFTn4YBlkoBABUdJtFJE0MVmhCBThgAhoAwQhGAAINVoCCFdBACEuAwhOW'.
    'YAQiGKEJUZBCIBTaAAfoYQxY0Fcw/2QHJlMBC2zowhOkIAUnIAEIPfBBEZLQJCUgQQlOgAIUmoCEIux61lKAAhOU0AQoTIEKws'.
    'NkDCi9ghn8QAlRgPYSpL2CE6CgBTK4gQ7q/GhmE1sIP+iButX9gyH8+giSVoEJVAAIRQUXSHvwcRIooIERuCAHPuiBgUowAhO4'.
    'QAdBIIIQfICDG+QACEUwghfY270DDCARbYACFabwhDeo6gAOSIAdtiAFuTohCUX/8DQSjiCEHdAABjIAuBCGIAQgCIEIKQfCDm'.
    '6AAx4MwQhHMMIQgPDzJCxBCfKddAlEQIIV1AAIRzh60llgAhKYgAUyqMENbEADG+wACJ4uQhB8sAMc1GAGMlhzD9J9AxaQQARQ'.
    'AFj3buaFKjhhCBPAwAdO8AIZxIAFJfhAB0BgghfUgOsvWIEKsC5uHeSgCmIgwxmqkAQl9NoIQTiCGMZghi4wwehNEqUPHL8DHu'.
    'igBi5AQQlMAG6t3+DwDa9BDFqgghUYHgeO53oNeu6D0c/A7R7gQAdGYOkd9F4HvycBCD4ggm+/4AUuWMEKXDCDG5ReBzd4OQtS'.
    'gIIUsCAGM/h7/+A7gLGxFAAuN2pDFaKQhBZZQAMfsLoJRNABDWRgAx8oAQpQYIIRLB8EJZACK9ACLvACNKADYAdpnQYEpycD1d'.
    'cDQhBxRlAEQiBwMeACLOACGIgCI/ABHOABImACKKACKVCCJKh6IfABHzACJ1B7K5AC3jaAz8cCKEB/nIIBHBACJ8ACM1iD9acB'.
    'Obh6/RcCIVBwKtAC0Ld98/cBHsB8QmiDGKADN0QACQAHUxAFSyAENSABFGABGSB8HKABF2ABFeCFwtcBYegoX/gBIMB0J9ACB+'.
    'gDQIBrOkADLkCCtncDPDCHZHcDMLAC8xcCIiACIeABdHEBF6ABHdCEKtiIHf+wATeoiGy4fIv4AYJIiB4ghl/RhYrYhpgohhZg'.
    'ARigiB3wiBmQAUDIfCMwAiIAAvXnKKMIhmLoFRYABuh1X35ABlfIBESgAy4QARIwAV0Yil7hIsIYimT4Fcd4ARiwhiSgAi8wAz'.
    'VAA7PHgSDQhqwXAzRAAzKQeCUAAmF4iqc4hptYhoh4joiYjMJYhhjQjujYjBmAARagI8B4jPAoj8q4jGPoFRTQhReAivYnj8VI'.
    'AWVIjDpCARiwBYzAHl8gBVOgbEXAAzFgAgGwFElxkdYBjBcpFRbpIl2IgwDYffwnAh8AiajoAQW3f1UHjhkwj/3Yjy8iFUlhjM'.
    'aIkRYZjDXOiZM1CR43SZMcqZFUwpE6uZPWsZFCaQEdcAIzAARJ4AROsAREwAMykAIggBHA2IVf2ITBN4v9KIqK6AEeYIrziCcZ'.
    'eR2BwRARwG/+lgNCAGlBoAMxgAIgoAEZUY8EiYzFqBQ4WZAGCRZmeZYREQF5t3cwIG45YIcm8AEaYAEbUZQTUh+O+Zh/CZiBOQ'.
    'HvR3iLR2mT4ReU2ZkFEYxe2AGTWH/c4hue6Zl2aQHMSI54cpquWZFASSUZ8pq0WZu2eZu4mZu6uZu82Zu++ZuAERAAOw=='.
    '');
    }
    if ( array_key_exists("head", $_REQUEST) && $_REQUEST["head"]==1) { head(); die(); }
    ?>
    <html>
    <head>
    <title>GRAPHiX iN PHP</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    </head>
    <body>
    <table width="100%" height="100%" align="center" cellpadding="0" cellspacing="0" border="0">
    <tr><td align="center" valign="center">
    <img src="<? echo $_SERVER["PHP_SELF"]; ?>?head=1">
    </td></tr>
    </table>
    </body>
    </html>
    
    Ну вот и все...

    Будут вопросы - пишите (глупые вопросы не задавать).

    Источник: russnull.org
     
    GriZone нравится это.
  2. Xover

    Xover Создатель

    Регистр.:
    21 авг 2006
    Сообщения:
    11
    Симпатии:
    0
    спс, полезная штука!
     
  3. GoNZo

    GoNZo Прохожие

    У меня баще

    Выводим какртинку где показывает IP юзера
    Создаем значит картинку небольшого размера называем ее img.png
    далее пхп скрипт например ip.php и пихаем вот это туда:
    PHP:
    <?php
      Header
    ("Content-type: image/png");
      
    $string="Твой IP: $REMOTE_ADDR";
      
    $im ImageCreateFromPng("img.png");
      
    $c ImageColorAllocate($im666);
      
    ImageString($im,4,9,26$string,$c);
      
    ImagePng($im);
      
    ImageDestroy($im);
    ?>
    Рассмотрим вот это:
    ImageString($im,4,9,26, $string,$c);

    там где 4 это отвечает за общий размер текста
    там где 9 это отвечает за растояние между краем рисунка и надписи
    там где 26 это отвечает за растояние между верхом и низом от картинки до текста

    Вот вобщем и все это конечно простенько и быстренько, можно сделать отображение Браузера например вставить $_SERVER[HTTP_USER_AGENT]
    так же можно сделать чтобы эта инфа сейвилась и кое че еще, вобщем много чего еще =))
    но для начала думаю неплохо

    Источник: Голова GoNZo
     
  4. GoNZo

    GoNZo Прохожие

    Re: У меня баще

    Доделав кое че у меня получилось вот такое

    [​IMG]
     
  5. Maxibuum

    Maxibuum Создатель

    Регистр.:
    28 авг 2006
    Сообщения:
    36
    Симпатии:
    12
    из за этого у меня полетел виндовс пришлось ставить по новаму
     
  6. Flex

    Flex Прохожие

    странно,что полетел виндовс :)) Скрипт вполне рабочий и без подвохов!

    Добавлено через 1 минуту
    Очень неплохо,для новичков в ПхП интересная штука,теперь в подписи начнут пихать =))
     
  7. Drimean

    Drimean _

    Регистр.:
    25 мар 2006
    Сообщения:
    559
    Симпатии:
    75
    :D :D :D Жжешь! Из-за скрипта слетела винда........ я под столом от смеха:D :D
     
  8. StirolXXX

    StirolXXX Постоялец

    Регистр.:
    11 июн 2006
    Сообщения:
    80
    Симпатии:
    38
    OMG ROFL
     
  9. alkov

    alkov Создатель

    Регистр.:
    18 дек 2006
    Сообщения:
    36
    Симпатии:
    14
    Маленький вопрос по скрипту. Есть ли возможность изменить тип шрифта в выводимом тексте. Например Bold Tahoma? А так-же как можно связать этот код с HTML ? Вроде того, что в РНР задаётся функция вывода изображения и привязка этой функции к какому-нибудь тегу, а в HTML изображение выводится через тег?
    Отбой. Вот что значит читать руководства. Онный запрос можно осуществить с помощью функции imagettftext().
     
Статус темы:
Закрыта.