Forum Webscript.Ru

Программирование => Регулярные выражения => Тема начата: Alan от 07 Сентября 2007, 12:23:04

Название: Выбор правильной папки?
Отправлено: Alan от 07 Сентября 2007, 12:23:04
День добрый! Вот нашел скрипт вставки подписи к фотографиям привожу его код ниже:


$str="© [url]www.kri.com.ua[/url]"; //этот текст необходимо будет вывести на изображении
$font="arial.ttf"; //шрифт для написания текста
$fontsize=12; //размер шрифта
/*
  Цвет шрифта задается ниже в теле программы в RGB (задано 234,234,234)
*/

$type=$_GET[\'type\']; //получаем тип изображения
$name=$_GET[\'name\']; //получаем имя файла без разширения

if (($type>0 && $type<7)  && strlen($name)>0)
{
switch ($type)
{
case 1: $image=ImageCreateFromJpeg("{$name}.jpg"); break;
case 2: $image=ImageCreateFromGif("{$name}.gif"); break;
case 3: $image=ImageCreateFromPng("{$name}.png"); break;
case 4: $image=ImageCreateFromJpeg("{$name}.JPG"); break;
case 5: $image=ImageCreateFromGif("{$name}.JPG"); break;
case 6: $image=ImageCreateFromPng("{$name}.PNG"); break;

}

$x=ImageSX($image);
$y=ImageSY($image);
$x=$x-108;
$y=$y-min(6,$y*0.03);

$color=imagecolorallocate($image,234,234,234); //здесь необходимо задать текст шрифта в RGB (234,234,234)
$str=iconv(\'CP1251\', \'UTF-8\', $str); //изменяет кодировку надписи для работы с TTF
imagettftext($image, $fontsize, 0, $x, $y, $color, $font, $str);

//определяем заголовок страницы и отправляем изображение
switch ($type)
{
case 1: header("Content-type: image/jpeg"); ImageJpeg($image); break;
case 2: header("Content-type: image/gif"); ImageGif($image); break;
case 3: header("Content-type: image/png"); ImagePng($image); break;
case 4: header("Content-type: image/jpeg"); ImageJpeg($image); break;
case 5: header("Content-type: image/gif"); ImageGif($image); break;
case 6: header("Content-type: image/png"); ImagePng($image); break;

}

ImageDestroy($image); //освобождает память
}
?>


и есть .htaccess файл следующего содержания


RewriteEngine On
# Определяем расширение и генерируем соответствующий запрос
# Скрипт обрабатывает 3 типа изображений:
#     1: jpeg
#     2: gif
#     3: png
RewriteCond     %{REQUEST_FILENAME}     -f
RewriteRule   ^(.*).jpg$  image.php?type=1&name=$1
#
RewriteCond     %{REQUEST_FILENAME}     -f
RewriteRule   ^(.*).gif$  image.php?type=2&name=$1
#
RewriteCond     %{REQUEST_FILENAME}     -f
RewriteRule   ^(.*).png$  image.php?type=3&name=$1
#
RewriteCond     %{REQUEST_FILENAME}     -f
RewriteRule   ^(.*).JPG$  image.php?type=4&name=$1
#
RewriteCond     %{REQUEST_FILENAME}     -f
RewriteRule   ^(.*).GIF$  image.php?type=5&name=$1
#
RewriteCond     %{REQUEST_FILENAME}     -f
RewriteRule   ^(.*).PNG$  image.php?type=6&name=$1
#



ещё есть в папке файл шрифта. Так вот проблема - скрипт обрабатывает все картинки на сайте, а нужно сделать чтобы обрабатывал только те которые лежат по адресу /contents/uploads/  Заранее спасибо за помощь!
Название: Выбор правильной папки?
Отправлено: Altaxar от 08 Сентября 2007, 03:22:48
Попробуй такой .htaccess
RewriteEngine On
# Определяем расширение и генерируем соответствующий запрос
# Скрипт обрабатывает 3 типа изображений:
#     1: jpeg
#     2: gif
#     3: png
RewriteRule   ^contents/uploads/(.*).jpg$  image.php?type=1&name=$1  [QSA]
RewriteRule   ^contents/uploads/(.*).gif$  image.php?type=2&name=$1 [QSA]
RewriteRule   ^сontents/uploads/(.*).png$  image.php?type=3&name=$1 [QSA]
RewriteRule   ^contents/uploads/(.*).JPG$  image.php?type=4&name=$1 [QSA]
RewriteRule   ^contents/uploads/(.*).GIF$  image.php?type=5&name=$1 [QSA]
RewriteRule   ^contents/uploads/(.*).PNG$  image.php?type=6&name=$1 [QSA]