forum.coppermine-gallery.net

Support => Русский (Russian) => Language Specific Support => cpg1.4.x Русский (Russian) => Topic started by: miks69 on May 21, 2010, 12:22:33 pm

Title: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 21, 2010, 12:22:33 pm
Есть галерея, установленная на домашнем сервере, который доступен через Инет.
Есть огромный архив фотографий (примерно 25 Гб), расположенный на одном из дисков на том же сервере.
Начинаем создавать альбомы и загружать туда фотки и помимо превьюшек и фоток норм.размера получаем дубоирование фотографий в исходном размере в соответствующей папке галереи :) Вопрос: зачем?

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

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

С надеждой на понимание жду ваших комментариев.
Title: Re: Дублирование фотографий при загрузке с лl
Post by: Alex Revo on May 21, 2010, 12:34:48 pm
В коде придется делать слишком много правок и вы потеряете возможность быстрого обновления версии галереи.

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

Переносите все свои папки с фотки в папку albums, потом через групповое добавление добавляете в галерею фото из каждой папки. Если не ошибаюсь при этом фото в папке остается на месте, а в папке юзера создаются только малоразмерные копии.
Title: Re: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 21, 2010, 12:49:07 pm
Интересное предложение, надо попробовать.
Если прокатит, то в идале можно данную логику немного доработать, чтобы можно было делать групповое добавление не только из папки albums, а из любой выбираемой локальной папки сервера с сохранением пути к ней в настройках, как вариант.
По поводу быстрого обновления - не проблема, могу посидеть какое-то время на одной версии.
В следующей версии, конечно, придется снова руками править.
Title: Re: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 21, 2010, 01:43:02 pm
Попробовал на версии 1.4.26 (stable) - не работает. Создал свою папку в albums и положил туда фотки. Зашел в "групповое добавление файлов" - получаю сообщение:
Quote
В папке "albums" отсутствуют созданные Вами папки.
Убедитесь, что Вы создали хотя бы одну свою папку внутри папки "albums" и загрузили в неё по FTP свои файлы.
Вы недолжны ничего загружать в папки "userpics" и "edit", они зарезервированы для http загрузок и внутренних нужд.
Title: Re: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 21, 2010, 02:53:05 pm
Извиняюсь, не хотела работать при выбранной по умолчанию опции "встроенный проводник (рекомендуется) - да".
После выбора варианта "нет" все заработало. При таком варианте загрузки действительно исходный файл никуда не копируется, а превью и нормал варианты создаются в той же папке. Вариант интересный. Вот если он еще позволял указать в настройках другую локальную папку на сервере - задача была бы решена.
В существующем варианте это означает, что мне надо либо копировать в эту папку весь архив фотографий, либо выборочно только для загрузки в галерею, но все равно создавать копию исходных файлов, расположенных на другом диске.
Title: Re: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 21, 2010, 03:07:01 pm
С другой стороны, даже если будет возможность указать другую папку, т.е. в моем случае папку с архивом всех альбомов фотографий, зачем ее засорять файлами с измененным размером картинки (превью и норм)?
Поэтому возвращаемся к исходной постановке задачи, т.е. опциональной возможности загружать фотки из другой (произвольной) локальной папки на сервере без копирования файла с исходным размером картинки.
Какие еще мысли?
Title: Re: Дублирование фотографий при загрузке с лl
Post by: smira on May 21, 2010, 03:28:07 pm
попробуй изменить директорию альбома в настройках Конфигурация>>>Настройки файлов>>>директория альбома
Title: Re: Дублирование фотографий при загрузке с лl
Post by: Alex Revo on May 21, 2010, 03:29:13 pm
Дальше нужно в код смотреть, но мне кажется что галерея в любом случае использует относительные пути. Т.е. максимум что удастся сделать, это выбирать файлы в пределах папок вебсервера.
Попробуйте поставить на компе coppermine helper и поиграться с ним, не знаю может он вам помочь или нет, сам не пользовался. Или ищите другие загрузчики для галереи.
Title: Re: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 21, 2010, 03:34:50 pm
Насколько я понимаю данная настройка указывает общую директорию, в которой система работает, т.е. при ее изменении все новые папки альбомов пользователей, малоразмерные копии файлов, и т.д. Это не очень интересно.
Кроме того там указывается путь к папке относительно корневой директории. Как в этом случае указать другой локальный диск?
Насчет других загрузчиков - спасибо, буду смотреть. А что это за coppermine helper?
Title: Re: Дублирование фотографий при загрузке с лl
Post by: Alex Revo on May 21, 2010, 03:46:24 pm
Гугл подскажет или поиск по форуму)
Title: Re: Дублирование фотографий при загрузке с лl
Post by: MISHA on May 23, 2010, 08:17:11 pm
Думаю это можно решить с помощью .htaccess или виртуальными хостами на веб сервере, или через Alt-F6 в FAR'е
Title: Re: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 24, 2010, 12:42:45 pm
Думаю это можно решить с помощью .htaccess или виртуальными хостами на веб сервере, или через Alt-F6 в FAR'е
А можно попросить Вашу мысль изложить немного поподробнее...
Title: Re: Дублирование фотографий при загрузке с лl
Post by: MISHA on May 24, 2010, 01:05:11 pm
Вроде как так, в общем нужно побольше почитать.

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

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>
Title: Re: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 24, 2010, 02:33:26 pm
Может я, конечно, совсем чайник, но, извините, пока не понимаю, что это даст...
Title: Re: Дублирование фотографий при загрузке с лl
Post by: MISHA on May 24, 2010, 02:44:57 pm
Смысл в том чтобы галерея видела альбом тест у тебя в папке /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
Title: Re: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 24, 2010, 03:57:01 pm
Пробовал подключать папку с архивом фотографий как виртуальную папку (например, /gallery/albums/test), не работает.
Т.е. галерея не воспринимает ее как папку внутри /albums и, как следствие, не выводит.
Title: Re: Дублирование фотографий при загрузке с лl
Post by: Makc666 on May 29, 2010, 12:01:38 am
Windows - зло в отношении виртуальных папок и т.п.

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

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

В UNIX подобное делается элементарно.
Title: Re: Дублирование фотографий при загрузке с лl
Post by: miks69 on May 29, 2010, 08:26:21 am
Да, именно этим я и занимаюсь, т.е. пытаюсь получить физический путь к папке по ее алиасу. К сожалению, PHP не умеет этого делать встроенными средствами. В то время как в ASP это делается на раз с помощью Server.MapPath(). Отсюда возникает задача: как при выполнении кода PHP использовать данную команду, например, на JScript, с передачей ей алиаса в качестве параметра и возвратом физического пути в качестве результата? Может подскажете, т.к. я не очень владею такими фишками в PHP.
Title: Re: Дублирование фотографий при загрузке с лl
Post by: Makc666 on June 24, 2010, 11:40:46 am
В PHP есть такая переменная как $_SERVER:
http://php.net/manual/en/reserved.variables.server.php