Я пытаюсь добавить водяной знак ко всем изображениям в каталоге, скажем, www.example.com/private. Некоторые из этих изображений имеют огромное разрешение, в то время как другие являются относительно нормальными, поэтому в данный момент мой водяной знак работает нормально для небольших изображений. Даже по центру водяного знака я по-прежнему оставляю желательные участки больших изображений уязвимыми для обрезки.
Итак, мой вопрос: как мне написать сценарий php для повторения водяного знака по всему изображению, как по вертикали, так и по горизонтали? Я не знаю достаточно о внутренней разработке, за исключением того, что знаю, что требуется обеспечить адекватную защиту водяных знаков, поэтому я искал в Google и смог найти только этот http://www.regardadesign.co.uk/blog/post/php-image-manipulation/15,, который не работает.
Пока что я поместил следующий файл .htaccess в каталог / private:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule \.(gif|jpeg|jpg|png)$ /admin/watermark.php [QSA,NC]
</ifModule>"
А это скрипт в файле watermark.php:
<?php
ini_set('memory_limit','200M');
$path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
$image = imagecreatefromstring(file_get_contents($path));
$w = imagesx($image);
$h = imagesy($image);
$watermark = imagecreatefrompng('watermark.png');
$ww = imagesx($watermark);
$wh = imagesy($watermark);
imagecopy($image, $watermark, (($w/2)-($ww/2)), (($h/2)-($wh/2)), 0, 0, $ww, $wh);
header('Content-type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
exit();
?>