как сгенерировать php-изображение для src - PullRequest
1 голос
/ 17 мая 2011

Я хотел бы использовать:

src="my_generated_image_from_php.jpg"

вместо

src="my_php_image.php"

Как мне это сделать?

my_php_image.php как:

<?php
     ......
     Header('Content-type: image/png');
     imagepng($im2);
     imagedestroy($im2);
     ......     
?> 

Ответы [ 4 ]

1 голос
/ 17 мая 2011

Возможно, вы думаете о перезаписи URL (mod_rewrite), которая используется для обслуживания чего-либо с другим URL.

my_generated_image_from_php.jpeg (может скрыть реальное расширение файла с именем - 'php').получить то же самое, что и my_php_image.php?image=my_generated_image_from_php.jpeg.

Когда дело доходит до MIME-типа и заголовка ответа скрипта, было бы хорошо, если бы вы могли включить его, но это не требуется для достижения того, что вы ожидаете.

0 голосов
/ 17 мая 2011

Вот как это делает Drupal. Ваш URL к изображению выглядит как index.php?q=some/path/to/the/image.jpg, но если ваш веб-сервер настроен правильно, эти простые правила:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]

Теперь PHP может извлечь путь запроса с помощью

$request_path = strtok($_SERVER['REQUEST_URI'], '?')
$base_path_len = strlen(rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/'));
// Unescape and strip $base_path prefix, leaving q without a leading slash.
$path = substr(urldecode($request_path), $base_path_len + 1);

Как только вы сделаете это, как говорит BraedenP, вам просто нужны правильные заголовки HTTP и все готово.

0 голосов
/ 17 мая 2011

Если я вас правильно понял, вам нужно сохранить изображение, сгенерированное php, как фактический файл изображения. Я бы начал читать здесь:

http://php.net/manual/en/function.imagejpeg.php

0 голосов
/ 17 мая 2011

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

header("Content-Type: image/jpeg");
echo file_get_contents("my_generated_image_from_php.jpeg");

Очевидно, вам нужно убедиться, что относительный путь к изображению правильный, чтобы он работал. В противном случае просто используйте абсолютный путь из корневого каталога.

Если вы сделаете это, вы сможете использовать второй вариант в качестве источника изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...