Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Дублирование фотографий при загрузке с лl  (Read 20933 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.034 seconds with 20 queries.