LINUX.ORG.RU

Хранения файлов на другом сервере.

 ,


0

1

На сайт загружаются файлы и хранить их в /site/public_html/files вместе с остальными файлами сайта я не хочу. Есть ли способ загружать их на другой сервер?

Идеи: 1) в форме загрузки сразу же указать новый сервер - не подходит, потому что данные о файле хранятся на одном сервере, а файлы на другом (а так правильно?). То есть нужно еще отправлять запрос на другой сервер, в котором указывать инфу о файле. Здесь есть проблема с безопасностью: т.к пользователь может слать запросы только с информацией о файлах, но не передавать файлы или наоборот. Конечно можно еще сделать какой-то внутренний обмен информацией между серверами о наличии файла.

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

3) на основе 2-ого варианта внутри одного сервера место move_upload_file использовать фтп для загрузки файла с /tmp на другой сервер. Тогда наверное должен быть очень большой размер диска для tmp и одновременно загружать с одного компьютера (сервера на который сначала загрузились данные) на другие не очень хорошо.

Собственно как реализована загрузка файлов на другие сервера, например в вконтакте, дропбоксе и т.д.


Не понимаю вопроса. Вот пришла к тебе строка с содержимым файла, ну и сохраняй ее туда куда надо, ну или шли по сети на хранилище, предварительно записав метаданные.

При чем здесь ftp, /tmp и какое-то копирование.

Как сделано у крупных компаний можно почитать в их же блогах, они об этом вполне пишут.

zinfandel ★★
()
Последнее исправление: zinfandel (всего исправлений: 1)
Ответ на: комментарий от zinfandel

я почитал их блоги и кроме того: что сохранять на случайно сервере, сжимать на клиенте и кучу инфи про базу ничего не нашел.

Интересует именно процесс загрузки на сервер. Загружается сражу же не сервер, на котором будет хранится или как? Как сохраняется тогда информация о файле?

cisido
() автор топика
Ответ на: комментарий от umren

Как устроен этот сервис? Я читал о dropbox, думаю амазон устроен похожим образом, и там есть:

$dropbox->putFile('file.txt',$h); 

то есть, как я понимаю, файл все равно некоторое время у нас на сервере. Да?

cisido
() автор топика
Ответ на: комментарий от cisido

Да?

Да, в /tmp считай он у тебя будет до тех пор пока не уедет

umren ★★★★★
()

Примонтируй s3 хранилище на сервере и сохраняй как в обычную директорию, а раздавай через cdn

duck
()

curl example.phar

anonymous
()

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

MKuznetsov ★★★★★
()

Поздравляю, ты только что изобрёл CDN. Google://edgecast, например.

cherry-pick
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.