Не работает watermark

Тема в разделе "Интерактивные возможности", создана пользователем Sergi, 12.03.2016.

  1. Offline

    Sergi Пользователь

    Регистрация:
    03.11.2009
    Сообщения:
    104
    Симпатии:
    0
    Пол:
    Мужской
    Решил использовать watermark который работает на старом сайте http://туризм-фотографии.рф/

    Процесс установки скрипта
    1.Создаем в корне сайта папку с названием watermark и забрасываем в нее два этих файла:
    watermark.php (сам скрипт)

    Код (CODE):
    1. <?php
    2. // Скрипт скачен с wdda.pro
    3.  
    4. // Путь до файла с оригинальным изображением
    5. $path = $_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'];
    6. $nameImage = end(explode('/', $_SERVER['REQUEST_URI'])); // Имя изображения
    7. $nameImageId = md5($path). $nameImage;
    8.  
    9. // Проверяем дату для рефреша кеша
    10. $dateImage = filemtime($path);
    11. $dateImageCache = @filemtime($_SERVER['DOCUMENT_ROOT'] . "/watermark/cache/" . $nameImageId);
    12.  
    13. //Устанавливаем качество (вес) картинки на выходе
    14. $quality = 100;
    15.  
    16. if(file_exists('cache/' . $nameImageId) && $dateImage < $dateImageCache)
    17. {
    18.     $image = imagecreatefromstring(file_get_contents('cache/' . $nameImageId));
    19.     header('Content-type: image/jpeg');
    20.     imagejpeg($image, NULL, $quality);
    21.     exit();
    22. }
    23. else // Если же нет такой картинки в кэше
    24. {
    25.     // Загружаем оригинальное изображение
    26.     $image = imagecreatefromstring(file_get_contents($path));
    27.    
    28.     // Получаем ширину и высоту оригинально изображения
    29.     $w = imagesx($image);
    30.     $h = imagesy($image);
    31.  
    32.    
    33. if($w >= 350)
    34. // Загружаем изображение с водяным знаком
    35.  
    36. {
    37. $watermark = imagecreatefrompng('watermark.png');
    38.  
    39. }
    40.  
    41.  
    42.     // Получаем ширину и высоту водяного знака
    43.     $ww = imagesx($watermark);
    44.     $wh = imagesy($watermark);
    45.    
    46.     // Соединяем оригинальное изображение и водяной знак.(водяной знак будет расположен в нижнем правом углу), можете попробовать его двигать меняя 10 и 5.
    47.     imagecopy($image, $watermark, $w-$ww-10, $h-$wh-5, 0, 0, $ww, $wh);
    48.    
    49.     imagealphablending($image, false);
    50.     imagesavealpha($image, true); // Устанавливаем прозрачность для png файла
    51.  
    52.     //Изменив значение 100, вы можете снизить качество получаемого фото
    53.     imagejpeg($image, 'cache/' . $nameImageId, $quality);
    54.     header('Content-type: image/jpeg');
    55.     imagejpeg($image, NULL, $quality);
    56.     exit();
    57. }
    58. ?>


    и watermark.png(ваша картинка)

    2.Создаем файл .htaccess: и забрасываем его в папку картинками.

    Код (CODE):
    1. IfModule mod_access.c>
    2. Order allow,deny
    3. Allow from all
    4. </IfModule>
    5.  
    6. DirectoryIndex index.php
    7.  
    8. <FilesMatch "\.(gif|jpg|jpeg|png|JPG)$">
    9. RewriteEngine On
    10. RewriteCond %{REQUEST_FILENAME} -f
    11. # Внимание! Путь к файлу watermark.php, вставте свой вместо папки watermark.
    12. RewriteRule \.(gif|jpeg|jpg|png|JPG)$ /watermark/watermark.php [T=application/x-httpd-php,L,QSA]
    13. </FilesMatch>


    Ну так вот после того как я перебрасываю .htaccess, картинки на сайте http://travelvideophoto.com/ перестают отображаться, хотя все файлы брал со старого рабочего сайта. Новый сайт на Joomla 3.4.8

    Работал с этим скриптом несколько лет назад может и забыл чего.
     
  2.  
  3. Offline

    Sergi Пользователь

    Регистрация:
    03.11.2009
    Сообщения:
    104
    Симпатии:
    0
    Пол:
    Мужской
    Проблема была в том что я изменил название фото для ватермака
     

Поделиться этой страницей

Загрузка...