Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Полоса загрузки!
ТвойWeb » WebMaster класс » PHP/Perl » Полоса загрузки!

Страниц (2): [1] 2 »
 

1. scar - 29 Августа, 2007 - 06:10:45 - перейти к сообщению
Как создать полосу загрузки? Например, когда пользователь заходит на портал, в котором он хочет оставить свой файл, нажимает на кнопку загрузить и его файл загружается на сервер портала, когда идет загрузка файла, он видит полосу загрузки. Как это сделать? Если не тяжело напишите пример кода.
Благодарю за помощь!
2. Alfa - 29 Августа, 2007 - 06:20:47 - перейти к сообщению
scar
забудь, не так просто что-бы ты смог сделать, это по технологиам Ajax надо делать. Если не понятно что такое ajax тогда: google.ru
3. scar - 29 Августа, 2007 - 06:23:36 - перейти к сообщению
Alfa пишет:
забудь, не так просто что-бы ты смог сделать, это по технологиам Ajax надо делать. Если не понятно что такое ajax тогда: google.ru


Т.е. на PHP это зделать не возможно? Однако
4. Alfa - 29 Августа, 2007 - 06:34:21 - перейти к сообщению
scar пишет:
Т.е. на PHP это зделать не возможно?

на рнр и надо делать + еше Ajax

Почему не хватает одного рнр или JS? потому что рнр не может изменять контент страницы не перезагрузив её, а JS может, но он не может связыватся с сервером, откуда быдет брать инфу для скрипта, в итоге тебе значит надо Ajax-ом работать, то есть что-бы данные с сервера присалались в бэкграунде, не перезагружая страницу, это делается посредством какого-то мoдуля XML, конкретно в деталях не могу сказать, т.к. сам не знаю, разбираюшиися в этом человек тебе объяснит
5. scar - 29 Августа, 2007 - 06:52:44 - перейти к сообщению
Alfa пишет:
Почему не хватает одного рнр или JS? потому что рнр не может изменять контент страницы не перезагрузив её, а JS может, но он не может связыватся с сервером, откуда быдет брать инфу для скрипта, в итоге тебе значит надо Ajax-ом работать, то есть что-бы данные с сервера присалались в бэкграунде, не перезагружая страницу, это делается посредством какого-то мoдуля XML, конкретно в деталях не могу сказать, т.к. сам не знаю, разбираюшиися в этом человек тебе объяснит


Т.е. Аджакс может выполнять много действий на одной странице не перезагружая ее?
6. Furax - 29 Августа, 2007 - 06:56:55 - перейти к сообщению
Ни PHP, ни Ajax не смогут сделать именно полосу загрузки. Дело в том, что сценарий php не запустится до тех пор, пока все вложения не будут загружены, а узнать, какая часть вложения уже передана, средствами js невозможно.

Тут уже надо лепить полноценное серверное приложение (скажем, C++) и снюхивать с ним JS.
7. Furax - 29 Августа, 2007 - 06:59:52 - перейти к сообщению
scar пишет:
Т.е. Аджакс может выполнять много действий на одной странице не перезагружая ее?
Может. Но полоса загрузки от этого не появится. Можно, конечно, замерить скорость подключения, поделить на неё объём файла (который пользователю придётся ввести ручками, т. к. JS не имеет доступа к файлам, а PHP срабатывает уже после окончания загрузки) и отсчитывать время, но ведь скорость далеко не постоянна... И далеко не всегда входящая скорость равна исходящей...
8. Alfa - 29 Августа, 2007 - 07:44:10 - перейти к сообщению
Я помню была такая полоса загрузки была на каком-то сайте Need4Speed-a только там показывала сколько было скачено я не сколько загруженно.
Furax пишет:
Тут уже надо лепить полноценное серверное приложение (скажем, C++)

Скорее всего
9. scar - 29 Августа, 2007 - 07:55:04 - перейти к сообщению
Я понял, что это не так просто сделать. Можно сделать, так что бы во время загрузке по середине окна браузера появлялся гиф анимация, а после того как файл закачается гиф-анимация исчезала. Как это сделать?
10. Furax - 29 Августа, 2007 - 08:23:47 - перейти к сообщению
scar
Так... Первое, что приходитв голову - это вынести форму загрузки файла в отдельный фрейм (не есть хорошо, конечно, но раз уж ты хочешь отправлять файл на сервер без перезагрузки страницы...). Далее, в этой форме помещаем javaскрипт, который бы сообщал основному окну стрницы, что пошла закачка. Основное окно вешает эту картинку (а под ней, от греха подальше, кнопку "Отмена"Подмигивание на середину экрана и ждёт. После загрузки файла новый загруженный во фрейм документ просит главное окно снять картинку. При щелчке на "Отмене" закачка прекращается, во фрейм грузится заново форма закачки, снимается картинка. Только и сервер должен иметь возможность понять, что закачка прервана.

На пальцах вроде всё... Или тебе в виде кода?

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0436]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33