За последние 24 часа нас посетили 24389 программистов и 1725 роботов. Сейчас ищут 1920 программистов ...

Как заставить сервер обрабатывать картинку как скрипт?

Тема в разделе "Вопросы от блондинок", создана пользователем &_&, 7 июн 2011.

  1. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    В теле страницы будет картинка, ссылка на неё в отдельную папку, внутри самой картинки, будет ПХП код, который в конце выдаёт обратно изображение. Как заставить сервер обрабатывать картинку как ПХП скрипт`?
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    внутри самой картинки, будет ПХП код, который в конце выдаёт обратно изображение.

    Это как? Ну ка поподробнее)
     
  3. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Внутри картинки что? - Код, если открыть блокнотом билибирда конечно, но если его передать в браузер то тот отобразит картинку, или не так?

    (Пошёл опробую)
     
  4. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Попов начал цикл статей о хакерстве? Наплыв контингента начался с какими-то бредовыми идеями :)
     
  5. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Проверил, работает:
    HTML:
    1.  
    2. </head>
    3. <img src="test.jpg">
    4. <br><br><br><br><br>
    5. <img src="img.php">
    6. </body>
    7. </html>
    8.  
    PHP:
    1.  
    2. <?
    3. $filename = "test.jpg";
    4. $handle = fopen($filename, "r");
    5. $contents = fread($handle, filesize($filename));
    6. echo $contents;
    7. fclose($handle);
    8. ?>
    9.  

    Но остаётся мой вопрос - как заставить сервер обработать файл с окончанием "jpg,png,bmp" как ПХП скрипт?
     
  6. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Ну для кого как, если у вас одни мысли о хакерстве, значит вам видней. Я вроде как достаточно ясно расписал вопрос. Был бы весьма рад услышать ответ.
     
  7. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Заголовки послать

    PHP:
    1. <?
    2.  $filename = "test.jpg";
    3.  $handle = fopen($filename, "r");
    4.  $contents = fread($handle, filesize($filename));
    5.  header("Content-Type: image/jpg");
    6.  echo $contents;
    7.  fclose($handle);
    8. ?>
    9.  
    Заголовки посылаются ДО любого вывода в браузер. Т.е. в файле img.php не должно быть: пустых строк, BOM, html-кода, вывода текста через echo/print и т.д. до того, как будут отправлены заголовки.

    http://php.net/manual/ru/function.header.html
     
  8. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Ну фаерфокс и так схавал. Но вопрос ведь не в этом, вопрос в том, как заставить СЕРВЕР, файл с расширением А обрабатывать как будто бы это файл с расширением Б?
     
  9. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Апельсин

    Вставишь после моего поста картинку с trollface, oк?

    &_&

    создаешь файл .htaccess в корневой папке приложения

    В него пишешь

    RemoveHandler .jpg
    AddType application/x-httpd-php .jpg
     
  10. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Почему бы не делать
    HTML:
    1. <img src="trollface.php">
    ?
     
  11. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    [vs]
    блеа.. у меня тут договорняк, не дал троллфейса втулить :D
     
  12. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    &_&
    есть два способа - оба через .htaccess:

    1. отправлять все запросы файлу php
    2. обрабатывать файлы с другим расширением как php-код

    .htaccess
    image.jpg
    PHP:
    1.  
    2. <?php
    3. header("Content-type: image/jpeg");
    4. $image = imagecreatefromjpeg ("path/to/image.tmp");
    5. imagejpeg($image);
    6. imagedestroy($image);
    7. ?>
    8.  

    P.S. пока писал пост - другие уже отписались :(
     
  13. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    [​IMG]
     
  14. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Спасибо


    Вы немного разошлись, а именно в "RemoveHandler .jpg", за что эта команда отвечает?
     
  15. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Это в той папке, где будет лежать скрипт с неправильный расширением? Или в главной папке сервера?

    Что-то не хочет у меня скрипт обрабатываться (
     
  16. [vs]

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

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    это на всякий случай, бывает что статика обрабатывается чем-то, и это что-то может мешать работе php.
    да.
     
  17. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Не хочет работать, изменил с "jpg" на "html", хтмл выдаёт, но генерированое с ПХП не хочет, причём сам ПХП код не светит при этом.


    Система:
    PHP Version 5.2.4-2ubuntu5.12
    System Linux server2-desktop 2.6.24-28-generic #1 SMP Wed Nov 24 09:30:14 UTC 2010 i686
    Apache Version Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.12 with Suhosin-Patch
     
  18. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Может, у тебя в настройках Апача стоит запрет на .htaccess. Проверь, нужно чтобы в настройках директории было
    allowOverride all
    например для всех директорий (т.к. стоит слеш)
    httpd.conf
    Код (Text):
    1. <Directory />
    2.     Options Indexes FollowSymLinks
    3.     AllowOverride All
    4.     Order allow,deny
    5.     Satisfy all
    6. </Directory>
     
  19. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Пробывал добавлять в "/etc/apache2/httpd.conf" и в "/etc/apache2/apache2.conf", результатов не дало (((
     
  20. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Быть админом сервера.
     
  21. &_&

    &_& Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    16
    Симпатии:
    0
    Я и так админ, это система на вмваре бегает
     
  22. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    В случае апача тупо реврайт сойдёт (я так делал по крайней мере)
     
  23. jewelryab

    jewelryab Активный пользователь

    С нами с:
    14 июн 2011
    Сообщения:
    3
    Симпатии:
    0
    tr0y, только потому, что вы запустите его левый и правый, у вас есть не вы представьте, что вы были так "NEN право три ...
     
  24. Polysufremus

    Polysufremus Активный пользователь

    С нами с:
    1 июл 2011
    Сообщения:
    1
    Симпатии:
    0
    Адрес:
    ISRAEL
    Êàê çàñòàâèòü ñåðâåð îáðàáàòûâàòü êàðòèíêó êàê ñêðèïò

    êàê åãî çàñòàâèòü ÝÒÎ äåëàòü, à íå òîëüêî 1óþ ñòðàíèöó ñòàòüè?