ПР
Павел Ребровский

Как лучше всего через PHP заливать файлы на удалённый сервер?

Пишу CMS для хостинга файлов (изображений, аудио, видео, не важно) и не могу определиться со способом отправки файлов на удалённый сервер. Сам сайт находится на одном хостинге, а сервер файлового хранилища удалён и у него свой ip и на него ведёт поддомен сайта. Пользователь через форму заливает файл, скрипт его помещает во временную папку а как его отправить на удалённый сервер я не знаю. Выбираю между следующими вариантами:

отправка файла через FTP, т. е. на удалённом сервере помимо веб севера будет поднят ещё и FTP сервер куда я буду класть файлы
примонтировать файловую систему удалённого сервера к веб серверу
класть файлы методом PUT но придётся заморачиваться с проверками при условии, что у удалённого сервера ещё и нет доступа к центральной БД CMS.

Так же надо учесть, что система расширяемая и количество удалённых веб серверов будет увеличиваться.
Знаю, что у крупных подобных проектов все сервера в одной локальной сети поэтому у них подобных проблем нет.
Таким методом работает множество популярных веб сайтов вроде pikabu_ru. Когда речь идёт о промышленных масштабах то файлы всегда хранятся отдельно.
У кого был опыт создания подобного. Как лучше сделать?

Ев
Евгений

Я бы использовал mount. На веб сервере. Примерно так:
# sudo mount -t smbfs -o username=vasja,password=pupkin //2.2.2.2/files /wwwPath/www/mySite/remoteServer1

BA
Black And White Angel

Вариантов тут много, самый простой, но не совсем надёжный это хранить файлы в обычной сиквельной таблице в виде типа BLOB, но соответственно тут вылезает узкое место и что произойдёт с таблицей - файлы пропадут. SQLInjection и остальная беда, должна быть порезана на корню!
Вариант 2 - хранить файлы на FTP сервере, но тут тоже желательно облачное хранилище на стороннем сервере, с дублированием - этакий RAID массив электронных данных.
Вариант 3 - самый простой но дурной - хранить прямо в каталоге хостинг сервера, самое ужасное, что можно придумать, если хостинг полное г!
"примонтировать файловую систему удалённого сервера к веб серверу" - можно просто поднять на сервере REST и вызывать нужный файл по ссылке.
Сразу скажу, хранение в разных местах требует синхронизации данных и постоянной проверки на валидность, злоумышленник может узнать пусть хода на удалённый сервер, поэтому о безопасности нужно тоже подумать основательно

Похожие вопросы
php отображение содержимого файла
Импорт xml файла с удалённого сервера.
Вопрос по php, работа с файлами.
не подключается файл в php.
Изучение PHP без сервера.
заливка mp3 файлов на сервер PHP
Текущее время сервера на php
Загрузка файла docx (php)
php. Ретрансляция файла от стороннего сервера к пользователю.
Работа с tar.gz файлами в php