|
|
RewriteEngine on
RewriteBase /
Options +FollowSymlinks
RewriteRule ^image/(.*) image.protect.php?img_name=$1
<?php
/* https://wm-help.net/ */
/* Функция для наложения на изображение своего копирайта в виде текста */
/* для использования других шрифтов используйте imageloadfont() */
function img_nalogenie(&$im, $img_info)
{
if
($img_info[0]>50 and $img_info[1]>20) /* проверка, влезит ли надпись */
{
$green = imagecolorallocate ($im, 0, 255, 0);
// установка зеленого цвета
imagestring($im, /* наше изображение */
2, /* id шрифта (0-5 - системные), остальные грузятся
через imageloadfont() */
5, /* смещение по X */
5, /* смещение по Y */
"(c) wm-help.net", /* защитная надпись на изображении */
$green); /* цвет выводимого текста */
}
}
if (isset($img_name))
{
$img_name = "image/" . $img_name; /* дополнение пути */
$info = @getimagesize($img_name); /* получение информации о изображении */
$ext = @$info[2]; /* тип изображения */
$header = @$info['mime']; /* правильный заголовок
для использования в header() */
switch($ext) /* выбор способа открытия по типу изображения */
{
case 1: // GIF
{
$im = @imagecreatefromgif($img_name); /* попытка открыть */
if ($im) /* Открылось или нет */
{
header("Content-type: " . $header); /* отправляем заголовок */
img_nalogenie($im, $info); /*
накладываем свой текст на изображение */
imagegif($im); /* выводим изображение в браузер */
}
break;
}
case 2: // JPG
{
$im = @imagecreatefromjpeg($img_name);
if
($im)
{
header("Content-type: " . $header);
img_nalogenie($im, $info);
imagejpeg($im);
}
break;
}
case 3: // PNG
{
$im = @imagecreatefrompng($img_name);
if ($im)
{
header("Content-type: " .
$header);
img_nalogenie($im, $info);
imagepng($im);
}
break;
}
case 6: // BMP
{
$im = @imagecreatefromwbmp($img_name);
if
($im)
{
header("Content-type: " . $header);
img_nalogenie($im, $info);
imagewbmp($im);
}
break;
}
default: /* если ничего не подошло */
{
$f = @file($img_name); /* пробуем считать файл */
if ($f) /* если файл считался */
{
echo implode("", $f); /* выводим массив строкой */
}
break;
}
}
}
?>