| |
|
|
| | Использовал ф-ию, накладывающую текст поверх картинки, описанную в этой теме: http://softtime.ru/forum/read.php?id_forum=1&id_theme=787 :
<?php
// В переменной $imagefile содержится имя файла с изображением
// Если эта переменная пуста, то останавливаем выполнение скрипта
if ($imagefile == "") exit();
// Определяем расширение
// и в зависимости от него вызываем функции создания изображений из файлов
$path_parts = pathinfo($imagefile);
$ext = $path_parts["extension"];
switch ($ext)
{
case "jpg":
$img = imagecreatefromjpeg($imagefile);
break;
case "gif":
$img = imagecreatefromgif($imagefile);
break;
default:
echo "Неизвестное расширение файла";
exit();
}
// Если изображение создано
if ($img)
{
// Назначаем цвет
$color = imagecolorallocatealpha($img, 0, 255, 0, 50);
// Пишем текст поверх изображения
$box = imagettftext($img, 50, 0, 10, 150, $color, "arbat.ttf", "Торговая марка");
// Выводим изображение в браузер
switch ($ext)
{
case "jpg":
header("Content-type: " .image_type_to_mime_type(IMAGETYPE_JPEG));
imagejpeg($img);
break;
case "gif":
header("Content-type: " .image_type_to_mime_type(IMAGETYPE_GIF));
imagegif($img);
break;
default:
echo "Неизвестное расширение файла";
exit();
}
}
?>
<?
// Здесь будет блок кода для получения имен файлов изображения из Вашей
// базы данных
// Для примера напишем так:
$imagefile="1.jpg";
?>
<img src="image.php?imagefile=<?= $imagefile ?>">
|
Всё хорошо, всё работает. Но, если обратиться к картинке "мимо" скрипта, напрямую, то естественно она выводится чистая, без текста.
У ф-ии получаются примерно такие ссылки: site.ru/image.php?imagefile=catalog/normal/1.jpg
Картинки лежат примерно по такому адресу: site.ru/catalog/normal/1.jpg
Вопрос: Как можно это "искоренить"? Через Мод Реврайт я не осилил...
Спасибо за ваши ответы... | |
| |
|
|
| |
|
|
| |
для: provodnik
(24.04.2007 в 12:06)
| | | Держать эти картинки в закрытой для доступа папке. Чтобы только скрипт мог локально её брать для обработки. | |
| |
|
|
| |
|
|
| |
для: tuder
(24.04.2007 в 12:16)
| | | Не могли бы привести примерный код? | |
| |
|
|
| |
|
|
| |
для: provodnik
(24.04.2007 в 12:17)
| | | При чем тут код?
Просто поместите картинки в каталог, находящийся за рамками document_root | |
| |
|
|
| |
|
|
| |
для: tuder
(24.04.2007 в 12:16)
| | | Просто положить в папку с картинками .htacces с кодом:
Кстати, рекомендую это делать для любой папки со скриптами, но не с картинками, которые вызываются из браузера типа <img src="..... | |
| |
|
|
| |
|
|
| |
для: provodnik
(24.04.2007 в 12:06)
| | | "Через Мод Реврайт" какраз будет самым идеальным решением в данном случае. | |
| |
|
|
| |
|
|
| |
для: vbps
(24.04.2007 в 12:59)
| | | golovdinov - спасибо, воспользовался вашим советом.
vbps - приведите пример, если не сложно для примерно таких ссылок:
это генерит ф-ия: http://site.ru/image.php?imagefile=catalog/normal/1.jpg
это путь до картинок: http://site.ru/catalog/normal/1.jpg
Если не сложно...
Спасибо.
Trianon - к сожалению в этом случае образуется привязка к конкретному серверу, если я не ошибаюсь... Или можно как то указать физический путь до папки с картинками относительно корня сервера "не явно"?
Спасибо за ответы... | |
| |
|
|