Уменьшение картинок на удаленном сервере (только FTP)

idencial

Одинаковый
Уменьшение картинок на удаленном сервере (только FTP)

Есть удаленный сервер (сервер №1), где есть только FTP (это просто сетевой жесткий диск, что-то типа D-Link DNS-313). На этом серваке размещены фотографии по папкам, причем фотографии в хорошем качестве, с зеркалки, т.е весят не хило.

Есть сервер, где есть PHP & Imagemagic (сервер №2).

Суть задачи - получить на втором сервере уменьшенные копии картинок с удаленного сервера (№1) (где только FTP)

Самый простой способ - копируем по FTP фотографию - уменьшаем ее с помощью Imagemagic.

Проблема в том, что в некоторой папке на этом удаленном сервере (№1) может быть фотографий 200 и каждая по 2-3 МБ.

Скрипт должен обработать эту папку и на сервере, где будет работать скрипт должно оказаться 200 обработанных маленьких фотографий.

Проблема в том, что пока я буду копировать 200 больших фоток между FTP серверами (чтобы получить возможность уменьшить через Imagemagic), пройдет много времени + трафик.

Пришла было шальная мысль - вдруг Imagemagic уменьшает файлы сразу на удаленном сервере (по типу работы copy() с разрешенными url wrappers), но тест показал, что не умеет :(

Есть какие-то варианты уменьшить на удаленном FTP сервере (№1) картинки с другого сервера (№2) прежде чем их копировать.
Было бы круто сделать уменьшенные копии нужных файлов, а потом их быстро слить по FTP.

Проблема пока в том, что тот сервер, где лежат фотографии ничего не умеет, только FTP, а потому нужную обработку можно выполнять только с удаленного сервера.
 

Фанат

oncle terrible
Команда форума
вдруг Imagemagic уменьшает файлы сразу на удаленном сервере (по типу работы copy() с разрешенными url wrappers), но тест показал, что не умеет
а если бы умел, то выглядело бы это, видимо, так: Imagemagic встал, взял чемодан, чистые носки, зашел в ФТП, доехал до сервера номер 1, посжимал там картинки, а вечером приехал обратно.
 

baev

‹°°¬•
Команда форума
а если бы умел, то выглядело бы это так:…
— не, Imagemagick бы «доехал до сервера номер 1, взял там одну картинку, отвёз её на сервер_2, сжал картинку, сжатую картинку отвёз на сервер_1». И так с каждой.
Ага, а потом можно было бы скачать сразу все картинки.

(То, что сжатые картинки уже побывали на сервере_2, мы как бы не заметим…)
 

Фанат

oncle terrible
Команда форума
так описать каждый дурак сможет
а попробовал бы визуализировать фантазии автора, как это сделал я

хотя, может и правда я не слишком ясно выразился
ну ясно же, что от себя я это написать не мог?
добавил туда слово "видимо"
 

baev

‹°°¬•
Команда форума
а попробовал бы визуализировать фантазии автора, как это сделал я
— я именно это и сделал.
Только — с поправкой на реально возможный механизм.
(Наподобие редакторов со встроенным ftp-клиентом.)
 

idencial

Одинаковый
Тут уже не раз обсуждался вариант копирования файлов с одного сервера на другой с помощью copy(), если в качестве пути к исходному файлу передать что-то типа

ftp://user:password@host/path/to/file

Так что не вижу ничего странного в том, если бы в Imagemagic была возможность в качестве исходного файла передать ftp://user:password@host/path/to/file, а в качестве преобразованного уже локальный путь.
Imagemagic получает путь к файлу, читает файл и производит с ним преобразования.
По пути вида ftp://user:password@host/path/to/file невозможно прочитать файл?


Я описал рабочий вариант решения моей задачи - копируем файлы с сервера №1 на сервер №2 по FTP, где уже сжимаем все с помощью Imagemagic.
Этот вариант имеет существенный недостаток, т.к придется копировать между FTP очень большие объемы информации.

Спрашиваю совета на тему - есть ли более оптимальный вариант, а в ответ получаю какой-то бред про мои фантазии.
 
Здесь вопрос скорее железа чем софта. У тебя дома стоит длинк и тебе надо на шаред хостинг сливать маленькие фотографии.
Вариант 1. Выкинуть гомно длинк и оставить только сервер №2 с фтп и заливать туда.
Вариант 2. Подключить твой длинк к сети сервера №2, если он твой конечно.
К пхп отношения не имеет.
 

Фанат

oncle terrible
Команда форума
по-моему, за время, сколько висит этот топик, уже можно было скопировать большие объемы информации раз 10 туда и обратно даже по модему.
 

antson

Новичок
Партнер клуба
idencial
в лоб - никак , только качать .
Реализовать RPC на NFS , которое ты хочешь можно только модификацией прошивки.
Так что самое простое найти пережималку под винду и выслать ее вместе с батником автоматизирующим работу человеку, комп которого в одной локалке с длинком.
 

idencial

Одинаковый
Автор оригинала: Curly-fingers
Здесь вопрос скорее железа чем софта. У тебя дома стоит длинк и тебе надо на шаред хостинг сливать маленькие фотографии.
Вариант 1. Выкинуть гомно длинк и оставить только сервер №2 с фтп и заливать туда.
Вариант 2. Подключить твой длинк к сети сервера №2, если он твой конечно.
К пхп отношения не имеет.
К сожалению D-link не у меня, у клиента (у меня вообще бы такой странной задачи не возникло)
Этот клиент (фотограф) у себя в офисе на D-link DNS-313 скидывает фотографии (объемы большие, именно поэтому исходники лежат на жестком диске, куда легко их скинуть), а мне нужно подключаться с веб-сервака и экспортировать новые фотки. Причем экспортировать не оригиналы, а уменьшенные их копии.
Я подумал, действительно, тут вариант экспорта только один и тот плохой из-за копирования больших объемов.
Придется изменить задачу и заставить клиента скидывать на D-link DNS-313 не только оригиналы, но и уменьшенные копии картинок, ужатые любой простой прогой.
Мне тогда останется только скопировать их по FTP и все.


***** (ник почему-то автоматически заменяется)
это не разовая операция, мне нужно чтобы это работало регулярно как часть механизма экспорта.

antson
Да, у меня были тоже мысли по поводу модификации прошивки (нереально для меня, т.к нет своего D-link для тестирования :) ), поэтому также пришел к варианту с пережималкой под винду.
 

dimagolov

Новичок
idencial, ИМХО самое здоровое при таких раскладах, это поставить у клиента в офисе application server, который бы занимался исключительно конвертацией картинок из д-линка и публикацией их на вебе. причем если это будет его основное занятие и поток новых фоток не очень большой, пойдет и весьма слабая машина.
 

idencial

Одинаковый
dimagolov
Спасибо за идею, но нет возможности у клиента это сделать, слишком далеко находится + общение через посредника.
 

baev

‹°°¬•
Команда форума
нет возможности у клиента это сделать, слишком далеко находится + общение через посредника
— ну, возможность-то наверняка есть: «подправить» прошивку у D-link DNS-313.
 

dimagolov

Новичок
baev, там ARM9 RISC 300MHz в качестве камня и 32MB оперативки. есть некоторые сомнения, что его можно заставить жать картинки с достаточной эффективностью. особенно малой кровью, тем более ТС-у :)

-~{}~ 07.03.10 11:20:

кстати, железка и по ftp выдает не более 5MB/s, так что надеятся, что она что-то будет жать по меньшей мере наивно. даже сливать на рядом стоящий тазик фотку она будет 1-2 сек...
 
Сверху