Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.10.2008, 21:12
mastergrom вне форума Посмотреть профиль Отправить личное сообщение для mastergrom Найти все сообщения от mastergrom
  № 1  
Ответить с цитированием
mastergrom

Регистрация: Dec 2007
Сообщений: 12
По умолчанию progress bar на php для загрузки файлов

Доброго времени суток!

Возникла необходимость сделать progressbar для загрузки файлов на сервер через форму.
То есть, есть php страница в которой есть форма и ее обработчик.. Загружаемых файлов может быть много... И помимо файлов обработчику передаются текстовые данные..
Погуглив, я нашел десяток решений, но не одно из них не подошло .. В большинстве случаев нужно устанавлвать pecl для php и использовать как обработчик CGI скрипт .. Неплохим показался jQuery progressbar но он работает только на php 5.2 ...
Может есть у кого-то рабочий вариант, который сможет показывать progress загрузки, скажем, 10 файлов ?

Старый 01.11.2008, 20:27
Dizainoff вне форума Посмотреть профиль Отправить личное сообщение для Dizainoff Посетить домашнюю страницу Dizainoff Найти все сообщения от Dizainoff
  № 2  
Ответить с цитированием
Dizainoff
 
Аватар для Dizainoff

Регистрация: Oct 2008
Адрес: Славянск-на-Кубани
Сообщений: 16
Отправить сообщение для Dizainoff с помощью ICQ
Я конечно могу ошибаться но мне казалось что PHP скрипт начинает срабатывать уже после того как файл на сервер был залит и следовательно данный скрипт не может отследить процесс загрузки.
Скорее всего это можно реализовать путем разработки плагина для самого сервера и при передачи файла на сервер необходимо будет делать параллельно еще запросы с определенным интервалом для определения процента загрузки (AJAX). И еще раз я повторюсь что я могу ошибаться. Но я точно знаю что php страница скрипт не может содержать форму, она только генерирует HTML страницу

Старый 02.11.2008, 21:10
ilzhan вне форума Посмотреть профиль Отправить личное сообщение для ilzhan Найти все сообщения от ilzhan
  № 3  
Ответить с цитированием
ilzhan
 
Аватар для ilzhan

Регистрация: Jul 2005
Адрес: Ufa
Сообщений: 30
Отправить сообщение для ilzhan с помощью ICQ
Если сервер свой то можно использовать NginxHttpUploadProgressModule

Добавлено через 2 минуты
Если вариант http://www.swfupload.org/ но менее точный


Последний раз редактировалось ilzhan; 02.11.2008 в 21:13.
Старый 03.11.2008, 17:44
opasnoste вне форума Посмотреть профиль Отправить личное сообщение для opasnoste Посетить домашнюю страницу opasnoste Найти все сообщения от opasnoste
  № 4  
Ответить с цитированием
opasnoste

Регистрация: Nov 2008
Сообщений: 6
Цитата:
Сообщение от ilzhan Посмотреть сообщение
Если сервер свой то можно использовать NginxHttpUploadProgressModule
Поддерживаю, хорошая штука.

PHP тут ни при чем, ибо средствами PHP такого не сделать в принципе — интерпретатор запускается только после того, как файл полностью загружен.

На Flex можно минуты за полторы наклепать.

Старый 04.11.2008, 11:43
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 5  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Сообщение от opasnoste Посмотреть сообщение
PHP тут ни при чем, ибо средствами PHP такого не сделать в принципе — интерпретатор запускается только после того, как файл полностью загружен.
Ваше мнение неправильное, но спорное. Начиная с 5.2 вполне работает отслеживание процесса загрузки из PHP:

Код:
<?php
if(isset($_GET['progress_key'])) {

  $status = apc_fetch('upload_'.$_GET['progress_key']);
  echo $status['current']/$status['total']*100;

}
?>
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 04.11.2008, 19:35
opasnoste вне форума Посмотреть профиль Отправить личное сообщение для opasnoste Посетить домашнюю страницу opasnoste Найти все сообщения от opasnoste
  № 6  
Ответить с цитированием
opasnoste

Регистрация: Nov 2008
Сообщений: 6
За ссылку спасибо, конечно. Проблема в том, что пока APC не будет включен в стандартную сборку PHP — описанные в статье костыли выглядят вполне себе бесполезно.

В большинстве случаев мы говорим о развертывании скрипта на shared hosting, где у пользователя нет возможности пересобрать интерпретатор и/или прикрутить расширение. Если же такая возможность есть, то нафига вообще загрузку файлов делать на PHP, когда есть куда более жизнерадостные способы — тот же NginxHttpUploadProgressModule.

Не стоит забывать также и о том, что нововведения в PHP, как правило, весьма глюкавы. Раз не внесли в стандартную сборку — значит, сыровато еще, вестимо.

Цитата:
Ваше мнение неправильное, но спорное.

Старый 04.11.2008, 20:03
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 7  
Ответить с цитированием
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Сообщение от opasnoste Посмотреть сообщение
В большинстве случаев мы говорим о развертывании скрипта на shared hosting, где у пользователя нет возможности пересобрать интерпретатор и/или прикрутить расширение.
На shared хостингах это не стоит по той простой причине, что нет массового спроса. А спроса нет, поскольку что одни не знают, а другие уверяют их, что этого быть не может.

Цитата:
Не стоит забывать также и о том, что нововведения в PHP, как правило, весьма глюкавы.
Рекомендую обратить внимание на дату, когда эта фича появилась в PHP.

Цитата:
Раз не внесли в стандартную сборку — значит, сыровато еще, вестимо.
Сырость -- далеко не единственная причина невключения тех или иных расширений в штатную поставку.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:21.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.