Центриране на воден знак

Нещо такова ли искаш да се получи?
PHP:
<?php
$directory = 'products/'; // your directory
$files = glob($directory."*.jpg");
foreach( $files as $file )
{   
$img_w = imagesx($file);
$img_h = imagesy($file);
$filetype = strtolower($filetype);
if($filetype == ".gif") $file = @imagecreatefromgif($img);
if($filetype == ".jpg") $file = @imagecreatefromjpeg($img);
if($filetype == ".png") $file = @imagecreatefrompng($img);
if($filetype == ".jpeg") $file = @imagecreatefromjpeg($img);
if (!$file) die();
if($img_w>990)$watermark = @imagecreatefrompng('pictures/watermark/watermark1000.png');
else if($img_w>790)$watermark = @imagecreatefrompng('pictures/watermark/watermark800.png');
else if($img_w>590)$watermark = @imagecreatefrompng('pictures/watermark/watermark600.png');
else if($img_w>390)$watermark = @imagecreatefrompng('pictures/watermark/watermark400.png');
else if($img_w>190)$watermark = @imagecreatefrompng('pictures/watermark/watermark200.png');
else $watermark = @imagecreatefrompng('pictures/watermark/watermarkmini.png');
$wx = imagesx($file)/2 - imagesx($watermark)/2;
$wy = imagesy($file)/2 - imagesy($watermark)/2;

imagecopy($file, $watermark, $wx, $wy, 0, 0, imagesx($watermark), imagesy($watermark));
header('Content-type: image/jpeg');
imagejpeg($file,null,100);
exit();
}
?>
 
По този начин не изкарва никак изображения.
Идеята е следната:
Освен този код във .htaccess имам и
Код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}  -f
RewriteRule .(gif|jpeg|jpg|png)$ test.php [QSA,NC]
ПП: тъи като изображенията се визуализират в различни файлове - show.php, materiali.php И т.н
И когато дадено изображение е от посочената директория да го маркира, а другите не.

Дали няма някакъв вариант да проверя дали изображението е от директорията "products" и ако е си му слага водният знак преди да го покаже, ако не е го пропуска?
 
Ако така ти извежда всичките изображения едно под друго от папката
PHP:
<?
$directory = 'products/'; // your directory
$files = glob($directory."*.jpg");
foreach( $files as $image )
{
	echo '<br><img src="'.$image.'" /> - " - $image';
}
?>

Можеш спокойно всяко едно изображение да го обработиш с кода кайто си постнал. Проблема може би идва от glob защото директно като стринг подава и директорията. Пробвай и така като в $images не се съдържа и директорията като стринг.
PHP:
<?
$directory = 'smiles/'; // your directory
$files  = scandir( $directory );
foreach( $files as $images )

{

	echo "<br><img src='".$directory."".$images."' /> -$directory- $images";

}

?>
 
Аз си мислех за нещо с if дали не може да се измисли...
Но незная как да направя проверката дали даденото изображение е от тази директория...
Ако е от тази директория - изпълнява скрипта, ако не е не го изпълнява за това изображение?
 
Msecurity каза:
Аз си мислех за нещо с if дали не може да се измисли...
Но незная как да направя проверката дали даденото изображение е от тази директория...
Ако е от тази директория - изпълнява скрипта, ако не е не го изпълнява за това изображение?

Е как извеждаш изображението ? Не съм гадател за да ти чета мислите! Не обясняваш като хората или аз не схващам правилно... Горния код ти вади изображенията от директория която ти си си задал и като добавиш кода във foreach на всяко едно изображение от тази директория ще постави воден знак. Това за if което питаш може да стане с preg_match но зависи от изображението в каква променлива е...
PHP:
<?
$imgFile = "1.jpg";
if(preg_match("/(.*?)\.png/",$imgFile))
{
	$im = imagecreatefrompng($imgFile);
echo "E png";
}
else if(preg_match("/(.*?)\.jpg/",$imgFile))
{
	$im = imagecreatefromjpeg($imgFile);
echo "E jpg";
}
?>
 
Ето и кода чрез който си извеждам изображенията в отделна страница
Ето така извеждам всички изображения в отделна страница.

Код:
	$query = mysql_query("SELECT p.*, b.title AS brand_title, b.logo AS brand_logo FROM prod AS p LEFT JOIN brands AS b ON p.products_marka=b.id WHERE p.active=0 AND products_id=$this->id ") or die(mysql_error());
	$result = mysql_fetch_assoc($query);
     $product_image = $result['products_image'];
  if(strpos($product_image,'а') !== FALSE){      
          $product_image = urlencode($product_image);
     }
     elseif(strpos($product_image,'о') !== FALSE){
          $product_image = urlencode($product_image);     
     }
     elseif(strpos($product_image,'е') !== FALSE){
          $product_image = urlencode($product_image);     
     }
	echo '<img src="products/'.$product_image.'" style="max-height: 500px; max-width: 500px;" /><br />';

Код:
 if($result['pic1']) echo '<li><a href="products/'.urlencode($result['products_id']).'/'.$result['pic1'].'"><img src="products/'.$result['products_id'].'/'.$result['pic1'].'" alt="" style="max-height: 500px; max-width: 500px;" /></a></li>';
  if($result['pic2']) echo '<li><a href="products/'.urlencode($result['products_id']).'/'.$result['pic2'].'"><img src="products/'.$result['products_id'].'/'.$result['pic2'].'" alt="" style="max-height: 500px; max-width: 500px;" /></a></li>';
  if($result['pic3']) echo '<li><a href="products/'.urlencode($result['products_id']).'/'.$result['pic3'].'"><img src="products/'.$result['products_id'].'/'.$result['pic3'].'" alt="" style="max-height: 500px; max-width: 500px;" /></a></li>';
  if($result['pic4']) echo '<li><a href="products/'.urlencode($result['products_id']).'/'.$result['pic4'].'"><img src="products/'.$result['products_id'].'/'.$result['pic4'].'" alt="" style="max-height: 500px; max-width: 500px;" /></a></li>';
  if($result['pic5']) echo '<li><a href="products/'.urlencode($result['products_id']).'/'.$result['pic5'].'"><img src="products/'.$result['products_id'].'/'.$result['pic5'].'" alt="" style="max-height: 500px; max-width: 500px;" /></a></li>';
 
Пишеш една отделна страница и ползваш file_get_contents ползваш preg_match_all извеждаш си нещата с цикъл и в цикъла правиш проверка за директориии (това се отсява като променлива в preg_match_all, като говорим за масива със съвпаденията примерно $match). Ще ползваш няколко нива $match[0], $match[1]... и прочие!
 
dakata__92 каза:
Пишеш една отделна страница и ползваш file_get_contents ползваш preg_match_all извеждаш си нещата с цикъл и в цикъла правиш проверка за директориии (това се отсява като променлива в preg_match_all, като говорим за масива със съвпаденията примерно $match). Ще ползваш няколко нива $match[0], $match[1]... и прочие!

Е този път наистина нищо не разбрах.... :D
Примерче?
 
Msecurity каза:
dakata__92 каза:
Пишеш една отделна страница и ползваш file_get_contents ползваш preg_match_all извеждаш си нещата с цикъл и в цикъла правиш проверка за директориии (това се отсява като променлива в preg_match_all, като говорим за масива със съвпаденията примерно $match). Ще ползваш няколко нива $match[0], $match[1]... и прочие!

Е този път наистина нищо не разбрах.... :D
Примерче?
Сега знаеш аз как се чувствам, като те чета! :D :D :D
http://php.net/manual/en/function.file-get-contents.php
http://www.php.net/manual/en/function.preg-match-all.php
 
Е не можеш да познаеш как го оправих... и ме е яд че цял ден се блъскам за едното нищо...
Сложих файла и .htaccess във директория и чиста работа... :d
Вече само изображнията от тази директория си маркира
+1 за нервите и помоща :P
 

Back
Горе