как это сделать ?
Спустя 1 час, 27 минут, 48 секунд (11.06.2012 - 14:37) twin написал(а):
Курлом
Спустя 14 минут, 38 секунд (11.06.2012 - 14:51) zeromind написал(а):
вот с курлом ещё и не работал) а вообще как это будет выглядить?
данные POSTом будут грузится?
данные POSTом будут грузится?
Спустя 30 минут, 41 секунда (11.06.2012 - 15:22) killer8080 написал(а):
zeromind
отправить файл можно как угодно, хоть курлом, хоть через сокеты, хоть через file_get_contents(). Но через курл удобней, собственно для подобных вещей он и предназначен. Читай статью по ссылке
http://www.web-junior.net/otpravka-post-za...pravka-fajjlov/
отправить файл можно как угодно, хоть курлом, хоть через сокеты, хоть через file_get_contents(). Но через курл удобней, собственно для подобных вещей он и предназначен. Читай статью по ссылке
http://www.web-junior.net/otpravka-post-za...pravka-fajjlov/
Спустя 7 минут, 2 секунды (11.06.2012 - 15:29) vagrand написал(а):
zeromind
ИМХО будет легче настроить rsync
ИМХО будет легче настроить rsync
Спустя 26 секунд (11.06.2012 - 15:30) twin написал(а):
killer8080
Цитата |
хоть через file_get_contents() |
можно с этого места поподробнее?
Спустя 1 минута, 27 секунд (11.06.2012 - 15:31) killer8080 написал(а):
Цитата (twin @ 11.06.2012 - 15:30) |
можно с этого места поподробнее? |
Через контекст, в той статье есть пример.
Спустя 2 минуты, 37 секунд (11.06.2012 - 15:34) twin написал(а):
Цитата (vagrand @ 11.06.2012 - 12:29) |
zeromind ИМХО будет легче настроить rsync |
если свой сервер. Не думаю, что это тот случай.
Вот такая была как-то функция. Пути только внимательно:
/**
* @param $img - полный путь до файла
*/
function fileCuplUpload($img)
{
$ext = pathinfo($img, PATHINFO_EXTENSION);
$ext = str_replace('jpg', 'jpeg', $ext);
$data = array('uploader' => '@'. $img .';type=image/'. $ext);
$curl = curl_init();
// Путь до приемника
curl_setopt($curl, CURLOPT_URL, 'http://site.ru/upload.php');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_exec($curl);
$info = curl_getinfo($curl);
curl_close($curl);
return $info;
}
Спустя 2 минуты, 11 секунд (11.06.2012 - 15:36) twin написал(а):
Цитата (killer8080 @ 11.06.2012 - 12:31) | ||
Через контекст, в той статье есть пример. |
Спасибо))) Это откровение для меня.
Спустя 4 минуты, 13 секунд (11.06.2012 - 15:40) killer8080 написал(а):
twin
честно говоря этот способ особого смысла не имеет. По объему кода он не меньше чем вариант с сокетами. Предпочтительней конечно курл. Это я просто, как возможный способ упомянул.
честно говоря этот способ особого смысла не имеет. По объему кода он не меньше чем вариант с сокетами. Предпочтительней конечно курл. Это я просто, как возможный способ упомянул.
Спустя 7 минут, 15 секунд (11.06.2012 - 15:47) vagrand написал(а):
Через php конечно выйдет более универсально, но тут еще большой вопрос в том, а какого размера ожидаются файлы. Если это будет видео или большие архивы, то думаю что нагнется сервачек передавать их посредством php.
Если картинки или текст еще туда-сюда, хотя при больших объемах тоже не зер гуд.
Если картинки или текст еще туда-сюда, хотя при больших объемах тоже не зер гуд.
Спустя 1 минута, 38 секунд (11.06.2012 - 15:49) killer8080 написал(а):
Цитата (vagrand @ 11.06.2012 - 15:47) |
Если это будет видео или большие архивы, то думаю что нагнется сервачек передавать их посредством php. |
С чего бы это?
Спустя 14 минут, 16 секунд (11.06.2012 - 16:03) vagrand написал(а):
Цитата |
С чего бы это? |
php скрипт будет запущен на протяжении всего времени, которое потребуется для передачи файла. Т.е. если файл будет большим + большие объемы файлов, то одновременно будет запущено много копий скрипта + к этому, я не уверен но надо еще последить за расходом памяти при отправке файла из php скрипта.
Спустя 43 минуты, 34 секунды (11.06.2012 - 16:47) killer8080 написал(а):
Цитата (vagrand @ 11.06.2012 - 16:03) |
Т.е. если файл будет большим + большие объемы файлов, то одновременно будет запущено много копий скрипта + к этому, я не уверен но надо еще последить за расходом памяти при отправке файла из php скрипта. |
Тут все будет зависеть от количества оперативы на сервере, и числа одновременных запросов. Естественно, что скрипт должен быть написан по уму. Если отправка идет через сокеты, то нужно файл читать прямо в сокет, в цикле, а не в переменную, а потом в сокет, как часто делают. В случае с курлом, думаю этот момент учтен на уровне самой библиотеки.
Спустя 4 минуты, 43 секунды (11.06.2012 - 16:51) vagrand написал(а):
killer8080
Ну так я про это и пишу, что не достаточно входных данных что бы сделать грамотный и всесторонний анализ. Что касается про много оперативы - ТС пишет что это все будет на VPS, вряд ли там ее будет много.
Ну так я про это и пишу, что не достаточно входных данных что бы сделать грамотный и всесторонний анализ. Что касается про много оперативы - ТС пишет что это все будет на VPS, вряд ли там ее будет много.
Цитата |
Естественно, что скрипт должен быть написан по уму. Если отправка идет через сокеты, то нужно файл читать прямо в сокет, в цикле, а не в переменную, а потом в сокет, как часто делают. |
Пусть так, но скрипт то все равно будет висеть в памяти все то время, что файл будет пересылаться, т.е. полюбе будет жрать ресурс сервака. А количество чилдов пача это вещь ограниченная.
Спустя 46 минут, 5 секунд (11.06.2012 - 17:38) zeromind написал(а):
Цитата (vagrand @ 11.06.2012 - 16:51) | ||
killer8080 Ну так я про это и пишу, что не достаточно входных данных что бы сделать грамотный и всесторонний анализ. Что касается про много оперативы - ТС пишет что это все будет на VPS, вряд ли там ее будет много.
Пусть так, но скрипт то все равно будет висеть в памяти все то время, что файл будет пересылаться, т.е. полюбе будет жрать ресурс сервака. А количество чилдов пача это вещь ограниченная. |
вы правы данные будут большими возможно даже до полтора гигабайта..
смысл такой - загружаеш через форму фильм, происходит определенная логика (парсится инфа по загруженности серверов) выбирается оптимальный сервер и ему передается POST'ом файл..
действительно, интересует rsync.. как такие дела решаются, но подробнее хотелось бы понять тогда что будет происходить? я так понимаю загружается файл на сервер морды сайта, а оттуда синхронизация уже на нужный?
Спустя 12 минут, 28 секунд (11.06.2012 - 17:50) vagrand написал(а):
Цитата |
происходит определенная логика (парсится инфа по загруженности серверов) выбирается оптимальный сервер и ему передается POST'ом файл.. |
А может имеет смысл тогда определять загруженность серверов до загрузки файла и редиректить клиента на загрузчик, который будет располагаться именно на том сервере, который был выбран?
Спустя 3 минуты, 15 секунд (11.06.2012 - 17:53) Семён написал(а):
Поддерживаю вариант rsync - и по расписанию 1-10-15 минут синхронизировать файлы.
Спустя 4 минуты, 1 секунда (11.06.2012 - 17:57) vagrand написал(а):
Семён
Не вижу никакого в этом смысла, надо просто разнести загрузчики по серверам, на которых будут хранится файлы, а на основном только определять их загруженность.
Не вижу никакого в этом смысла, надо просто разнести загрузчики по серверам, на которых будут хранится файлы, а на основном только определять их загруженность.
Спустя 8 минут, 49 секунд (11.06.2012 - 18:06) Семён написал(а):
Цитата (vagrand @ 11.06.2012 - 18:57) |
Семён Не вижу никакого в этом смысла, надо просто разнести загрузчики по серверам, на которых будут хранится файлы, а на основном только определять их загруженность. |
Ага особенно если VPS на разных хостингах находятся.
---- Идеальный способ в фоне через какой-нить флеш загрузчик просто отправлять нужные файлы на внешний хост в виде какого-нить API c crossdomain.xml напрямую без всяких проверок на загруженность
Спустя 11 минут, 24 секунды (11.06.2012 - 18:17) vagrand написал(а):
Цитата |
Ага особенно если VPS на разных хостингах находятся. |
А при чем тут разные хостинги или это один и тот же? Домен сервака надо знать и все, больше ничего.
Спустя 2 часа, 51 минута, 11 секунд (11.06.2012 - 21:09) Семён написал(а):
Загрузчики по разным серверам, которые выступают в качестве проксирующего загрузчика как ты предлагаешь - является говнокодом)
Спустя 7 минут, 27 секунд (11.06.2012 - 21:16) vagrand написал(а):
Цитата |
является говнокодом) |
А не сильно ли крутоватое заявление? Оно нуждается в такой же крутой аргументации. Как по мне то пересылать гиговые файлы при помощи php является говнокодом
Спустя 22 минуты, 38 секунд (11.06.2012 - 21:39) Семён написал(а):
Мы говорим об одном и томже
Либо ты просто хочешь поспорить
Либо ты просто хочешь поспорить
Цитата |
которые выступают в качестве проксирующего загрузчика как ты предлагаешь - является говнокодом) |
Цитата |
Как по мне то пересылать гиговые файлы при помощи php является говнокодом |
Спустя 45 минут, 45 секунд (11.06.2012 - 22:24) vagrand написал(а):
Ты предлагаешь загружать файл на центральный сервер а с него разносить файлы по серверам хранилищам, что нагружает серваки и сеть ровно в 2-а раза от нужного, а я предлагаю заливать сразу на тот сервер, где файлы будут хранится.
Спустя 46 минут, 49 секунд (11.06.2012 - 23:11) Семён написал(а):
Цитата (vagrand @ 11.06.2012 - 23:24) |
Ты предлагаешь загружать файл на центральный сервер а с него разносить файлы по серверам хранилищам, что нагружает серваки и сеть ровно в 2-а раза от нужного, а я предлагаю заливать сразу на тот сервер, где файлы будут хранится. |
Цитата |
Ага особенно если VPS на разных хостингах находятся. ---- Идеальный способ в фоне через какой-нить флеш загрузчик просто отправлять нужные файлы на внешний хост в виде какого-нить API c crossdomain.xml напрямую без всяких проверок на загруженность |
Перечитай
Спустя 10 часов, 44 минуты (12.06.2012 - 09:55) vagrand написал(а):
Цитата |
Загрузчики по разным серверам, которые выступают в качестве проксирующего загрузчика как ты предлагаешь - является говнокодом) |
Цитата |
Ага особенно если VPS на разных хостингах находятся. ---- Идеальный способ в фоне через какой-нить флеш загрузчик просто отправлять нужные файлы на внешний хост в виде какого-нить API c crossdomain.xml напрямую без всяких проверок на загруженность |
Слышал когда нибудь про балансировку нагрузки? Вот там люди почему-то не считают такое говнокодом.