![]() |
Динамическое отображение размера файла в момент закачки. КАК?
Есть форма <form method=post action="123.php" enctype=multipart/form-data>
Выполнение всех функций в 123.php происходит только после полной заливки файла на сервер во временную директорию. Нужно же постоянно показывать человеку сколько файла уже залито. Кто сталкивался с такой проблемой, помогите, PLZ. ЗЫ. Чувствую, что спасет меня, если я буду жестко указывать php с каким tmp_name заливать файл. Вопрос, как его заставить заливать с нужным мне именем, а не php1234 (цифры любые). |
Мне кажется что проще всего такое делать с помощью javascript - загрузил, отобразил (скажем фон td поменял), без перезагрузки самой страницы. Тоесть загружать на сервер не по http, а javascript-ом (можна даже автоматизировать, правильно настроив безопасность). Есдинственно но: это скорее всего будет работать только из-под IE.
|
А хотя бы простенький примерчик? Кусочек кода? А то я с javascript даже не на Вы, а на Ваше Высочество...
|
Отображение инфы закачиваемого файла в момент закачки отобразить не получится никак ... это особенности веб-серверов ...
посмотреть инфу (размер, содержание и пр.) можно только после полной закачки на сервер ... А с помощью JavaScript получить доступ к локальным файлам - не смешите мня ... :) |
BiГ
Ну ничего смешного нету, но я наверно неправильно выразился. Не по средствам JavaScript, а ActiveX-ом вызваным из JavaScript. Sinker <script> var fileName="C:\\1.jpg"; var fp=new ActiveXObject("ADODB.Stream"); fp.Type=1; fp.Open(); fp.LoadFromFile(fileName); var request=new ActiveXObject("Msxml2.XMLHTTP"); request.open("POST","http://host/upload.php",false); request.send(fp.read()); </script> upload.php вытаскивает картинку из $HTTP_RAW_POST_DATA и пишет куда надо. (с) гоша .http://phpclub.ru/talk/showthread.ph...E8%F0%F3%F1%FB Но повторяюсь, в настройках безопасности нужно настроить, что сайт является "trusted" и может делать всё что угодно... (Правда народ говорил, что в некоторых версиях (имееться введу насколько обновлена ОС) это проходит просто-так упс, только я неправиольно прочитал первый пост. этот метод годится для отображения загрузки файлоВ, и по HTTP ты точно не сможешь узнать сколько загружено . Но может где-то докопаешся до загруженного обьёма в ActiveXObject("Msxml2.XMLHTTP"); - вся инфа на MSDN. В противном случае - аплет или activex тебя спасут точно. |
mmaaxx
Не безопасно это получается ... таким макаром только пароли тырить ... :blin: |
Ну ведь сделано же это как-то на фотоцентре. Заливаешь фотку, а он тебе показывает прогресс.
|
Там открывается окошко, которое постоянно перегружается, по ходу дела вычисляя сколько процентов временный файл составляет от размера оригинала.
|
Как узнать имя этого временного файла? $_FILES["file"]["tmp_name"] в 123.php обрабатывается после полной заливки файла в этот временный файл.
|
Лучше написать аплет и не парится...
-аплет будет работать не только на IE -если файл большой его можно будет разбивать даже.. -статус показывать естественно нефиг делать... -и другие фичи.. Есть один ньюанс.. помойму РНP (могу ошибатся) закаченные файлы держит в оперативке.. пока сним не разобратся.. так что если большие файлы то лучше... ловить их перлом.. Ну а если это для небольших картинок задуманно тогда пофиг чем ловить. :dance: |
Цитата:
|
Я так понял нужно показывать прогресс загрузки файла на сервер? (на приведенном сайтике мне просто написали "Идет загрузка - ждите...) Если да, то это IMHO не возможно.
Но, я думаю можно сделать это приблизительно: по разрешению, формату и качеству приблизительно оценить размер фотографии (а может на JavaScript можно и напрямую размер узнать?), оценить скорость соединения с клиентом (естественно тоже приблизительно) и рассчитать как должен бар двигаться! Я понимаю что это не лучшее решение, но как вариант... Если Вы более конкретно опишете стоящую задачу тогда будет и проще оценить что нужно сделать! |
BRULIK
на это надо время.. аплеты я не умею писать за 5 минут... а время сейчас ну ни как нет.. а вообще напишу может в апреле... потерпишь?:biggrin: Добавлено через 7 минут: Кстати на приведённой выше страничке это даже интереснее сделанно на перле... http://print.photocenter.ru/progress.pl а сылку можете не жать это просто место нахождение их скрипта.. тоесть я помню где-то слыхал, что перл по другому с уплоадом обходиться.. возможно там есть возможность раскопать статус закачки... но это уже вопрос к спецам по перлу...:virus: |
| Часовой пояс GMT +4, время: 18:14. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.