Вывод информации из php файла?!

Тема в разделе "PHP", создана пользователем MAD-BOYT, 11 фев 2009.

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

    MAD-BOYT Постоялец

    Регистр.:
    22 ноя 2007
    Сообщения:
    75
    Симпатии:
    8
    Здравствуйте.
    Вобщем ситуация такая.

    Есть к примеру такая ссылка
    Код:
    <a href="http://site.ru/"><img src="http://site.ru/links.php?link=10" width="88" height="50"/></a>
    Она должна выводить у меня на сайте определенную картинку с определенными цыфрами. т.е. если link=10, то должно на картинке быть 10.

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

    Есть вариан создать сразу 100 картинок и генерируемое число ее вызывало, но нужно, чтобы картинку не могли использовать отдельно.
    т.е. чтобы небыло пути к ней. А был путь только к php.

    Заранее спасибо.

    з.ы. тему просматривал, но ответов не нашел.
     
  2. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
    Например так
    PHP:
    if(isset($_GET['link']))     {
        
    $image imagecreate(200100);
        
    $background imagecolorallocate($image000);
        
    $text_colour imagecolorallocate($image255255255);
        
    imagestring($image108040$_GET['link'], $text_colour);

        
    header("Content-type: image/png");
        
    imagepng($image);
        
    imagecolordeallocate($text_color);
        
    imagecolordeallocate($background);
        
    imagedestroy($image);
    }
     
    MAD-BOYT нравится это.
  3. MAD-BOYT

    MAD-BOYT Постоялец

    Регистр.:
    22 ноя 2007
    Сообщения:
    75
    Симпатии:
    8
    Спасибо огромное. Работает.
    А как сделать, чтобы картинка была моя.
    Или несколько. Если число до 10 - картинка одна. больше 20 другая и.т.д..?
     
  4. Anu

    Anu Постоялец

    Регистр.:
    19 окт 2007
    Сообщения:
    137
    Симпатии:
    13
    почитайте статьи по работе с GD:
    http://phpclub.ru/detail/article/dynamic_image
     
  5. Kaimi

    Kaimi

    Регистр.:
    28 окт 2007
    Сообщения:
    257
    Симпатии:
    253
    В смысле просто картинка без текста?
     
  6. MAD-BOYT

    MAD-BOYT Постоялец

    Регистр.:
    22 ноя 2007
    Сообщения:
    75
    Симпатии:
    8
    Anu, спасибо за статью!

    Kaimi, с текстом. но чтобы фон был моей картинкой.
    .т.е. на готовую картинку с рисунком накладывались цыфры.
     
  7. Derag

    Derag

    Регистр.:
    9 ноя 2008
    Сообщения:
    218
    Симпатии:
    44
    Что бы писать на своей картинке img.png
    PHP:
    if(isset($_GET['link'])) { 
           
    header('Content-type: image/png');
           
    $img ImageCreateFromPng("img.png"); //Картинка
           
    $black ImageColorAllocate($img000); //Цвет текста
     
           
    ImageTTFText($img505810$black'font.ttf'$_GET['link']); 
           
    /*
           Собственно пишем на картинке своим шифтом
           5,- размер шрифта
           0,- угол наклона  шрифта
           58,- координата x
           10,- координата y
           */

           
    ImagePNG($img);
           
    ImageDestroy($img);
    }
    http://www.exdll.ru/statistic-img/

    Тут я реализовывал для того, что бы писать своим шрифтом. Вместо font.ttf, пишешь имя шрифта.
     
    MAD-BOYT нравится это.
  8. funman

    funman Постоялец

    Регистр.:
    28 дек 2007
    Сообщения:
    146
    Симпатии:
    25
    Следующий код позволяет наложить текст на jpg файл, а затем сохраняет полученную картинку.
    PHP:
    <?php
    $img
    ="images/bilet.jpg";
    $pic ImageCreateFromjpeg($img); //открываем рисунок в формате JPEG
    Header("Content-type: image/jpeg"); //указываем на тип передаваемых данных
    $color=ImageColorAllocate($pic25000); //получаем идентификатор цвета
    /* определяем место размещения текста по вертикали и горизонтали */
    $h 260//высота
    $w 220//ширина
    /* выводим текст на изображение */
    ImageTTFtext($pic260$w$h$color"Times""Simona");
    ImageTTFtext($pic260$w-50$h+65$color"Times"time());

    Imagejpeg($pic,"images/".time().".jpg"); //сохраняем рисунок в формате JPEG
    ImageDestroy($pic); //освобождаем память и закрываем изображение
    ?>
    Место размещения текста подбирается эксперементально.
    ВНИМАНИЕ!!! Параметр "Times" указывает на шрифт, который скорее всего в юникс системе надо будет указать явно. Т.е. вместо "Times" указать "path/name.ttf".
    Пример: ImageTTFtext($pic, 26, 0, $w, $h, $color, "verdana.ttf", "Simona");
     
  9. MAD-BOYT

    MAD-BOYT Постоялец

    Регистр.:
    22 ноя 2007
    Сообщения:
    75
    Симпатии:
    8
    Ни как не могу открыть картинку с помощью последних двух примеров.
    Указывал и полные пути к картинкам и шрифту, но в итоге нет изображения.
    Пробовал и на локалке(denwer) и на хосте(sweb).
     
  10. SiMM

    SiMM Создатель

    Регистр.:
    8 фев 2009
    Сообщения:
    41
    Симпатии:
    6
    И не забывайте, что кириллица должна быть в UTF-8.
    http://php.net/imagettftext
     
Статус темы:
Закрыта.