Добрый день, использую class.upload.php (http://www.verot.net/php_class_upload.htm) для загрузки изображений на сайт, а также jQuery UI. Подскажите, пожалуйста, кто знает, как их интегрировать, чтобы добавить ProgressBar.
не знаю ничего про твой скрипт, о котором ты говоришь и смотреть не буду, ибо суть одна =) механизм у нас в эпоху современного интернета - один. всегда. =) на стороне сервака должен крутиться скрипт, который знает об этих файлах и их текущем статусе. Аяксом мучаешь его раз в три секунды например и все. Остальное все (где искать айдишники и метод получения инфы) надо искать уже в доках по скрипту.
Если правильно понял, то написать скрипт, в который передать путь к файлу на сервере, его размер, а в ответ забирать процент от общего размера файла и вызывать скрипт через аякс после клика на загрузку, так?
гугли по загрузчикам. пхп из коробки сам по себе не умеет узнать до окончания загрузки о том, что она идет.
Mr. T сам php на сервере не может отдавать тебе процент загруженного файла. так что прогресс-бар загрузки возможен только с помощью флеш. хотя есть дополнения для апача/пхп, позволяющие показывать процент загруженного файла. но эти дополнения редко где встречаются. так что кроссбраузерно опять же только флеш.
Я попросил хостера установить вот это вот http://pecl.php.net/package/uploadprogress, но еще не разбирался как конкретно с этой библиотекой работать.
Доброй ночи, установили мне uploadprogress, начал играться. Работаю по примеру http://t.wits.sg/misc/jQueryProgressBar/demo.php, но фонарь, что выходит. [js]<script type="text/javascript" src="/js/jquery-1.5.1.min.js"></script> <script type="text/javascript" src="/js/jquery-ui-1.8.11.custom.min.js"></script> <script type="text/javascript"> var progress_key = '<?= $uuid ?>'; $(document).ready(function() { $('#progressbar').progressbar(); }); function beginUpload() { $('#progressbar').progressbar().fadeIn(); var i = setInterval(function() { $.getJSON("/engine/modules/uploadprogress.php?id=" + progress_key, function(data) { if (data == null) { clearInterval(i); location.reload(true); return; } var percentage = Math.floor(parseInt(data.bytes_uploaded) / parseInt(data.bytes_total) * 100); $('#progressbar').progressbar({ value: percentage }); }); }, 1500); return true; } </script>[/js] Файл /engine/modules/uploadprogress.php: PHP: <?php header ('Cache-Control: no-cache, must-revalidate'); header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); if (@$_GET['id']) { echo json_encode (uploadprogress_get_info ($_REQUEST['id'])); die (); } if (@$_POST['UPLOAD_IDENTIFIER']) die (); $uuid = uniqid (); ?> HTML: <form action="" enctype="multipart/form-data" method="post" onsubmit="beginUpload();"> <input name="UPLOAD_IDENTIFIER" type="hidden" id="progress_key" value="<?= $uuid ?>" /> <table> <tr> <td>Изображение:</td> <td><input name="image" type="file" value="" /></td> </tr> <tr> <td></td> <td><div id="progressbar"></div></td> </tr> <tr> <td></td> <td><input type="submit" value="Загрузить" /></td> </tr> </table> </form> Так что же все-таки не так?