Ситуация! Есть несколько сайтов на пхп на разных хостингах, в одном из сайтов есть общие мускульная база и директория с картинками. Базу и картинки используют все сайты, причем через мод_рерайт удалось реализовать видимость того, что картинки находятся в базе именно этого сайта. Все работает, но есть один момент - пользователь регится на одном из сайтом и желает загрузить картинку. Соответственно, картинка должна попасть в общую базу картинок, но эта база то на другом сервере. Как здесь быть? Если бы все сайты были на одном хостинге, то это решалось бы через абсолютные пути в скриптах, а так ситуация другая!
А если такой файл уже загружен? Как система поймет это? А если нужно удалить один файл и вместо него добавить другой? Скажем, так PHP: define('FILE_DIR', 'home/html/files/'); еслибы заменить на PHP: define('FILE_DIR', 'ftp://user:user@123.232.127.34/files/'); Будет ли такая конструкция работать?
Есть два подхода к проблеме. 1.Пользоваться одной базой, если юзер хочет что то загрузить, загружать именно в эту одну базу. 2. Сохранять все там где оно есть, и с некоторой периодичностью сливать все три базы во едино на всех трех серверах. Оба подохода имеют право на существование. Первый прост в реализации, но не устойчив к пиковой нагрузке. Второй сложнее в плане реализации , но гораздо устойчивее к нагрузке, ибо база существует в трех экземплярах, получается своего рода кластер. Так же можно постоянно заливать на все три сервера. Это будет уместно если юзеры намного чаще смотрят фотки чем их заливают, ибо в таком случае существенно снизит нагрузку, без потери реалтайма. Какой способ использовать решать вам.
serg-php Файлами между серверами лучше обмениваться по http - быстрее. Я бы написал RPC службу принимающую файлы - быстро и надежно.
$now, твой вариант сильно сложен будет для меня! А не проще ли вызвать пхп-форму с удаленного сервера поместить ее в <iframe height="898" allowTransparency="true" frameborder="0" scrolling="yes" style="width:90%;border:none" src="http://123.232.127.34/index.php?page=add"><a href="http://123.232.127.34/index.php?page=add">Загрузка файла</a></iframe>
ReduKToR В базе хранить не есть хорошо! Тем более, что файлы всерднем метровые! Это что базу в 5 гигов делать?
PHP: Я бы все же в фоне грузил на нужный файл-сервер, при помощи php такое реализуется нетрудно. Не совсем представляю, как это средставами пхп? Образец бы!