Advanced search  

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Pages: [1]   Go Down

Author Topic: Дублирование фотографий при загрузке с лl  (Read 21042 times)

0 Members and 1 Guest are viewing this topic.

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

Есть галерея, установленная на домашнем сервере, который доступен через Инет.
Есть огромный архив фотографий (примерно 25 Гб), расположенный на одном из дисков на том же сервере.
Начинаем создавать альбомы и загружать туда фотки и помимо превьюшек и фоток норм.размера получаем дубоирование фотографий в исходном размере в соответствующей папке галереи :) Вопрос: зачем?

Гораздо удобнее было бы иметь опцию, с помощью которой можно было бы указать, что источник фотки расположен на локальном ресурсе сервера (т.е. всегда доступен серверу). При этом достаточно будет создать маленькие файлы превью и фотки норм.размера (опционально), и сохранить в базе локальный путь к исходному файлу фотографии на локальном диске. При дальнейшем просмотре фотографий галереи пользователями при необходимости загрузки исходного файла фотографии автоматически искать его (файл) по сохраненному в базе пути.

Уважаемые профи и гуру CPG! Если подскажете где и что в коде можно поправить, чтобы получить такую логику работы, буду очень признателен и попробую сделать сам, хотя не слищком хорошо знаю PHP.
Если кто-либо из вас возьмется и сделает такую опцию во всеми любимом продукте, думаю она многим пригодится, а не только мне. Возможет также вариант договориться лично о разумном вознаграждении за потроченное время.

С надеждой на понимание жду ваших комментариев.
Logged

Alex Revo

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 637
  • Инженер человеческих душ
    • Фото Ростова-на-Дону

В коде придется делать слишком много правок и вы потеряете возможность быстрого обновления версии галереи.

Есть другой путь - групповое добавление файлов.

Переносите все свои папки с фотки в папку albums, потом через групповое добавление добавляете в галерею фото из каждой папки. Если не ошибаюсь при этом фото в папке остается на месте, а в папке юзера создаются только малоразмерные копии.
Logged

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

Интересное предложение, надо попробовать.
Если прокатит, то в идале можно данную логику немного доработать, чтобы можно было делать групповое добавление не только из папки albums, а из любой выбираемой локальной папки сервера с сохранением пути к ней в настройках, как вариант.
По поводу быстрого обновления - не проблема, могу посидеть какое-то время на одной версии.
В следующей версии, конечно, придется снова руками править.
Logged

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

Попробовал на версии 1.4.26 (stable) - не работает. Создал свою папку в albums и положил туда фотки. Зашел в "групповое добавление файлов" - получаю сообщение:
Quote
В папке "albums" отсутствуют созданные Вами папки.
Убедитесь, что Вы создали хотя бы одну свою папку внутри папки "albums" и загрузили в неё по FTP свои файлы.
Вы недолжны ничего загружать в папки "userpics" и "edit", они зарезервированы для http загрузок и внутренних нужд.
Logged

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

Извиняюсь, не хотела работать при выбранной по умолчанию опции "встроенный проводник (рекомендуется) - да".
После выбора варианта "нет" все заработало. При таком варианте загрузки действительно исходный файл никуда не копируется, а превью и нормал варианты создаются в той же папке. Вариант интересный. Вот если он еще позволял указать в настройках другую локальную папку на сервере - задача была бы решена.
В существующем варианте это означает, что мне надо либо копировать в эту папку весь архив фотографий, либо выборочно только для загрузки в галерею, но все равно создавать копию исходных файлов, расположенных на другом диске.
Logged

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

С другой стороны, даже если будет возможность указать другую папку, т.е. в моем случае папку с архивом всех альбомов фотографий, зачем ее засорять файлами с измененным размером картинки (превью и норм)?
Поэтому возвращаемся к исходной постановке задачи, т.е. опциональной возможности загружать фотки из другой (произвольной) локальной папки на сервере без копирования файла с исходным размером картинки.
Какие еще мысли?
Logged

smira

  • Coppermine newbie
  • Offline Offline
  • Posts: 19

попробуй изменить директорию альбома в настройках Конфигурация>>>Настройки файлов>>>директория альбома
Logged

Alex Revo

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 637
  • Инженер человеческих душ
    • Фото Ростова-на-Дону

Дальше нужно в код смотреть, но мне кажется что галерея в любом случае использует относительные пути. Т.е. максимум что удастся сделать, это выбирать файлы в пределах папок вебсервера.
Попробуйте поставить на компе coppermine helper и поиграться с ним, не знаю может он вам помочь или нет, сам не пользовался. Или ищите другие загрузчики для галереи.
Logged

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

Насколько я понимаю данная настройка указывает общую директорию, в которой система работает, т.е. при ее изменении все новые папки альбомов пользователей, малоразмерные копии файлов, и т.д. Это не очень интересно.
Кроме того там указывается путь к папке относительно корневой директории. Как в этом случае указать другой локальный диск?
Насчет других загрузчиков - спасибо, буду смотреть. А что это за coppermine helper?
Logged

Alex Revo

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 637
  • Инженер человеческих душ
    • Фото Ростова-на-Дону

Гугл подскажет или поиск по форуму)
Logged

MISHA

  • Coppermine frequent poster
  • ***
  • Country: ru
  • Offline Offline
  • Gender: Male
  • Posts: 262

Думаю это можно решить с помощью .htaccess или виртуальными хостами на веб сервере, или через Alt-F6 в FAR'е
Logged
Что бы Ктулху не воскрес, подпишись на RSS

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

Думаю это можно решить с помощью .htaccess или виртуальными хостами на веб сервере, или через Alt-F6 в FAR'е
А можно попросить Вашу мысль изложить немного поподробнее...
Logged

MISHA

  • Coppermine frequent poster
  • ***
  • Country: ru
  • Offline Offline
  • Gender: Male
  • Posts: 262

Вроде как так, в общем нужно побольше почитать.

Перед всеми виртуальными хостами должен стоять код:

Code: [Select]
<VirtualHost *:80>
   ServerName default
</VirtualHost>

Code: [Select]
<VirtualHost *:80>
ServerAdmin mail@mail.ru
DocumentRoot I:\gallery
ServerName gallery
ServerAlias *.sait.ru
ErrorLog logs/sait.ru/sait.ru-error.log
TransferLog logs/sait.ru/sait.ru-access.log
</VirtualHost>

<VirtualHost *:80>
DocumentRoot I:\gallery\albums\
ServerAlias *.sait.ru/gallery/albums/test
</VirtualHost>
Logged
Что бы Ктулху не воскрес, подпишись на RSS

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

Может я, конечно, совсем чайник, но, извините, пока не понимаю, что это даст...
Logged

MISHA

  • Coppermine frequent poster
  • ***
  • Country: ru
  • Offline Offline
  • Gender: Male
  • Posts: 262

Смысл в том чтобы галерея видела альбом тест у тебя в папке /gallery/albums/ а сама папка будет находится F:\gallery\albums\test

Поправка:
Code: [Select]
<VirtualHost *:80>
DocumentRoot F:\gallery\albums\test
ServerAlias *.sait.ru/gallery/albums/
</VirtualHost>

 Лучше вам почитать это http://www.apache.ru/faq/ и это http://www.dmsdesign.ru/apache3.html
Logged
Что бы Ктулху не воскрес, подпишись на RSS

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

Пробовал подключать папку с архивом фотографий как виртуальную папку (например, /gallery/albums/test), не работает.
Т.е. галерея не воспринимает ее как папку внутри /albums и, как следствие, не выводит.
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page

Windows - зло в отношении виртуальных папок и т.п.

Проблема не в том, видит ли галерея папку или нет.
Проблема в том, видит ли WEB-сервер папку или нет.
Вам нужно сначала заставить WEB-сервер выдавать содержимое папки /gallery/albums/test/ в строке браузера, а уже потом работать с галереей.

Т.к. Windows - это не моя родная среда для WEB-приложений - я вам не помогу.

В UNIX подобное делается элементарно.
Logged

miks69

  • Coppermine newbie
  • Offline Offline
  • Posts: 10

Да, именно этим я и занимаюсь, т.е. пытаюсь получить физический путь к папке по ее алиасу. К сожалению, PHP не умеет этого делать встроенными средствами. В то время как в ASP это делается на раз с помощью Server.MapPath(). Отсюда возникает задача: как при выполнении кода PHP использовать данную команду, например, на JScript, с передачей ей алиаса в качестве параметра и возвратом физического пути в качестве результата? Может подскажете, т.к. я не очень владею такими фишками в PHP.
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page

В PHP есть такая переменная как $_SERVER:
http://php.net/manual/en/reserved.variables.server.php
Logged
Pages: [1]   Go Up
 

Page created in 0.033 seconds with 20 queries.