Вы когда-нибудь видели этот загрузчик:
Или этот:
Они служат для указания процента загрузки на сервер файла, который вы загружаете через форму.
К сожалению, невозможно показать процент загрузки на самом простом уровне, но хотелось бы.
Согласитесь, видеть процент загрузки всегда приятнее, чем скучное «Загрузка.
» в строке состояния браузера, поэтому я расскажу вам, как создать такой индикатор загрузки для ваших форм загрузки.
Чтобы лучше понять, о чем мы говорим, попробуйте рабочий пример: php5.bluga.net/UploadProgressMeter/demo.php Для начала я установил новенький http-сервер Apache версии 2.2.4 и не такой уж новый PHP 5.2.0. Надеюсь вы знаете, как устанавливать эти приложения, скажу лишь, что я это делал под Windows, поэтому нам нужно будет подключить к php два расширения .
dll, если они у вас еще не установлены, это: php_apc.dll php_json.dll Для установки этих расширений вам необходимо поместить эти файлы в папку расширений вашего сервера, чтобы узнать, что это за папка, запустите phpinfo(); и посмотрите переменную Extension_dir (обычно C:\php\ext) В php.ini подключите их: расширение = php_apc.dll расширение = php_json.dll Вам также следует установить параметры для php_apc, также в php.ini: расширение = php_apc.dll apc.shm_segments=1 apc.optimization=0 apc.shm_size=128 apc.ttl=7200 apc.user_ttl=7200 apc.num_files_hint=1024 apc.mmap_file_mask=/tmp/apc.XXXXXX apc.enable_cli=1 apc.rfc1867=Вкл.
Обратите внимание на последнюю установку, а именно apc.rfc1867, она имеет непосредственное отношение к нашей задаче.
подробнее о настройках APC здесь .
Установите php_apc, если запустить файл внутри папки, то получится такая картина:
Проверьте, загружены ли модули, это можно сделать с помощью функции Extension_loaded
Теперь создайте php-файл и вставьте в него следующий текст. этот текст все должно работать, оно используется библиотека пользовательского интерфейса Yahoo! Для создания движущейся полосы загрузки можно использовать что-то свое.
Возможно, вам придется работать с сервером удаленно: www.odessa.net/docs/LINUX/SHELL/shell.html Сейчас для таких целей есть uploadprogressextension, это конечно тоже вариант, но я не люблю нагружать сервер лишними расширениями, а php_apc и php_json все равно там были бы.
Спасибо за внимание.
Теги: #upload #progress #meter #Ajax #json #разработка сайтов
-
Злонамеренный Спамер Получил 30 Лет Тюрьмы
19 Oct, 24