Battle Forum

Battle Forum (http://battlefox.rooty.ru/index.php)
-   Web-программирование / Сайтостроение (http://battlefox.rooty.ru/forumdisplay.php?f=110)
-   -   Закачка в фоновом режиме (http://battlefox.rooty.ru/showthread.php?t=13270)

MorgaN 08.12.2009 22:36

Закачка в фоновом режиме
 
Здравствуйте!
Скажите пожалуйста, возможно ли сделать так, чтоб пользователь на сайте нажал кнопку и сервер начал скачивать какой либо файл по ссылке а, после закачки добавил какие либо данные в БД...

Ringo 08.12.2009 22:55

morgan, сомневаюсь что без доп.софта это можно было осуществить, только сам клик можно зафиксировать..

MorgaN 09.12.2009 12:33

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

Добавлено через 1 минуту
Хотяб приблизительную логику может кто напишет...

Ringo 09.12.2009 16:06

morgan, это уже п2п, и об обычной закачке речь не идёт, зато есть хорошая новость для вас - установив торрент-треккер вы сможете отслеживать что и как скачивается :)

MorgaN 09.12.2009 19:48

Цитата:

Сообщение от Ringo (Сообщение 416467)
это уже п2п, и об обычной закачке речь не идёт

Как раз нет...
Цитата:

Сообщение от Ringo (Сообщение 416467)
установив торрент-треккер вы сможете отслеживать что и как скачивается

Торрент - протокол, разработанный для обмена файлами. Он является протоколом peer-to-peer и позволяет организовать обмен данными через интернет.
Трекер - специализированный сервер, работающий по протоколу HTTP. Трекер нужен для того, чтобы клиенты могли найти друг друга.
µTórrent - (также известный как uTorrent или microTorrent) — бесплатный BitTorrent-клиент для Microsoft Windows и Mac OS X, написанный на C++ и отличающийся небольшим размером и высокой скоростью работы при достаточно большой функциональности.

Т.е. вы предлагаете мне ставить сервер?
Цитата:

Сообщение от morgan (Сообщение 416423)
возможно ли начать качать файл и одновременно передавать его пользователю

Я имел ввиду качать не у другого пользователя, а по протоколу HTTP из интернета...

Добавлено через 21 минуту
Вот скриптик, он открывает файл по ссылке и считывает с него по частям данные и сохраняет в другой файл...
PHP код:

<?php
$sourceFileName
='http://test.ru/test.swf';
$origFileName='local.name';
$fp = @fopen($sourceFileName"rb");
$fd = @fopen($origFileName"w");
if (
$fp && $fd) {
while (!
feof($fp)) {
    
$st fread($fp4096);
    
fwrite($fd$st);
}
}
@
fclose($fp);
@
fclose($fd);
?>

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

Ringo 09.12.2009 20:01

Цитата:

Сообщение от morgan (Сообщение 416506)
Я имел ввиду качать не у другого пользователя, а по протоколу HTTP из интернета...

а, понятно, я думал, что с тебя отдавать должно :)

Цитата:

Сообщение от morgan (Сообщение 416506)
Трекер - специализированный сервер, работающий по протоколу HTTP. Трекер нужен для того, чтобы клиенты могли найти друг друга.

Ну во-первых, не совсем сервер, скорее серверный скрипт, во-вторых, поиском их функционал не ограничивается.


Цитата:

Сообщение от morgan (Сообщение 416506)
Т.е. вы предлагаете мне ставить сервер?

Я так понимаю, сервер у вас уже есть в том или ином виде, иначе куда вы будете заливать свой скрипт? :)

MorgaN 09.12.2009 20:59

Цитата:

Сообщение от Ringo (Сообщение 416520)
Я так понимаю, сервер у вас уже есть в том или ином виде

Хостинг есть, само сабой...
Но пока тестирую скрипт на localhost.

Добавлено через 53 минуты
Всем спасибо сделал так:
PHP код:

<?php
$sourceFileName 
'http://test.ru/test.rar';
$TempName explode('/'$sourceFileName);
$origFileName $TempName[sizeof($TempName)-1];
$fp = @fopen($sourceFileName"rb");
//$fd = @fopen($origFileName, "w");
if ($fp) {
header('Content-Disposition: attachment; filename="'.$origFileName.'"');
while (!
feof($fp)) {
    
$st fread($fp4096);
    
//fwrite($fd, $st);
    
echo $st;
}
}
@
fclose($fp);
@
fclose($fd);
?>



Текущее время: 06:02. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot