Изображение как файл PHP

Я довольно новичок в PHP, и мне нужно знать, как отображать файл как образ. Например, при открытии http://example.com/script.php будет показано изображение.

Мое рассуждение для этого – мне нужно поместить его в атрибут src <img> . Я хочу, чтобы изображение менялось в зависимости от времени.

В настоящее время у меня есть 3 изображения для цикла.

Что я сейчас имею:

 <?php $w = date('W'); # week $d = date('N'); # day $t = date('G'); # time dealWithTime($d); function dealWithTime(day) { if (day == 1) { # Monday if ($w == 13) { # Week 13 } else if ($w == 14) { # Week 14 if ($t >= 0 && $t <= 6) { # Image = 1.png } else if ($t > 6 && $t <= 10) { # Image = 2.png } else if ($t > 10 && $t <= 14) { # Image = 3.png } else if ($t > 14 && $t <= 18) { # Image = 1.png } else if ($t > 18) { # Image = 2.png } } } else if (day == 2) { # Tuesday } else if (day == 3) { # Wednesday } else if (day == 4) { # Thursday } else if (day == 5) { # Friday } else if (day == 6) { # Saturday } else if (day == 7) { # Sunday } } ?> 

Во-первых, вы правы с частью src . Вы можете просто использовать .php файл как src вашего изображения и иметь хорошее изображение. Итак, как только вы выяснили, какой образ вы хотите показать пользователю, вот несколько способов сделать это:

  1. readfile – вы читаете содержимое изображения, выставляете его с соответствующими заголовками .
  2. Вы перенаправляетесь к файлу изображения. Но здесь есть оговорка: вам нужно отправить заголовок 302 Found вместо 301 Moved Permanently , потому что в настоящее время браузеры постоянно переадресуют переадресацию!

Используйте библиотеку PHP GD. На веб-сайте PHP есть несколько примеров, чтобы вы начали:

http://www.php.net/manual/en/book.image.php

После того, как вы закончите с логикой, установите PHP тип содержимого script.php.

В настоящий момент content-type script.php является text/html по умолчанию text/html но вы хотите, чтобы он отображал изображение, поэтому вам нужно будет сделать следующее:

  header( "Content-type: image/png" ); 

Затем из любого файла, который вы получили из логики, я бы использовал функцию file_get_contents() и echo или print() изображение.