Уважаемые Веб мастера помогите или подскажите, как пристроить прогрессбар в форму загрузки файла. PHP: case 'addfile' : $mtitle .= ' :: Загрузка музыки'; if ( $user_group[$member_id['user_group']]['mservice_addfile'] != 1 ) $stop[] = 'У вас нет доступа к загрузке трэков.'; $category = GetAllCategories( $mcat ); $allow_comments_ajax = true; $config['allow_comments_wysiwyg'] = "yes"; include_once ENGINE_DIR . '/editor/comments.php'; if ( $user_group[$member_id['user_group']]['mservice_captcha'] == 1 ) { $captcha = <<<HTML <script language='JavaScript' type="text/javascript"> <!-- function reload () { var rndval = new Date().getTime(); document.getElementById('dle-captcha').innerHTML = '<a onclick="reload(); return false;" href="#" title="???????, ???? ?? ????? ???????????"><img src="{$config[http_home_url]}engine/modules/antibot.php?rndval=' + rndval + '" border="0" alt="{$lang[sec_image]}" /></a>';} //--> </script> <tr><td style="padding-top:10px;">Защитный код:</td><td style="padding-top:10px;"><span id="dle-captcha"><a onclick="reload(); return false;" href="#" title="???????, ???? ?? ????? ???????????"><img src="{$config[http_home_url]}engine/modules/antibot.php" alt="{$lang[sec_image]}" border="0" /></a></span></td></tr> <tr><td style="padding-top:10px;">Введите сюда:</td><td style="padding-top:10px;"><input name="sec_code" class="f_input" style="width:119px;" maxlength="20" /> *</td></tr> HTML; } else $captcha = ''; $file_types = @str_replace( ",", ", ", $mscfg['filetypes'] ); $file_size = formatsize( $mscfg['maxfilesize'] * 1024 ); if ( $config['allow_alt_url'] == 'yes' ) $rlnk = $config['http_home_url'] . 'music/rules.html'; else $rlnk = $config['http_home_url'] . 'index.php?do=music&act=rules'; $mcontent = <<<HTML <script type="text/javascript"> function viewRTracks( ) { var ajax = new dle_ajax(); ajax.onShow (''); var varsString = ''; ajax.setVar( "act", 4 ); ajax.setVar( "title", document.getElementById('track_name').value ); ajax.requestFile = dle_root + "engine/modules/mservice/ajax.php"; ajax.method = 'POST'; ajax.element = 'related-tracks-layer'; ajax.sendAJAX(varsString); ajax.onCompletion ( document.getElementById('related-tracks-layer').style.display = 'block' ); } </script> <form action="" method="post" enctype="multipart/form-data"> <input type="hidden" name="act" value="doaddfile" /> <table class="stext"> <tr><td style="padding-right:60px;">Название трэка</td><td><input type="text" id="track_name" maxlength="80" name="name" class="f_input" /> * <input style="height:18px; font-family:tahoma; font-size:11px; border:1px solid #DFDFDF; background: #FFFFFF; padding-bottom:4px;" title="Найти похожие аудиозаписи" onclick="viewRTracks( ); return false;" type="button" value="Найти похожие" /> </td></tr> <tr><td colspan="2"><div style="border: 1px solid rgb(158, 158, 158); padding: 5px; background: rgb(255, 255, 204) none;margin-top:10px;margin-right:10px;display:none;" id="related-tracks-layer"></div></td></tr> <tr><td style="padding-top:10px;">Исполнитель</td><td style="padding-top:10px;"><input type="text" name="artist" class="f_input" maxlength="80" /> *</td></tr> <tr><td style="padding-top:10px;">Категория</td><td style="padding-top:10px;"><select style="width:303px;" name="category"><option value="0">-- Выберите категорию --</option>{$category}</select> *</td></tr> <tr><td style="padding-top:10px;">Описание<br />( Не обязательно )</td><td style="padding-top:10px;">{$wysiwyg}</td></tr> <tr><td style="padding-top:10px;">Загрузка трэка</td><td style="padding-top:10px;"><input type="file" name="file" size="44" /> *<br>Разрешенные типы: {$file_types}; максимальный размер: {$file_size}</td></tr> {$captcha} </table> <br /><input type="checkbox" name="rules" onClick="AllowSubmit();" value="1" /> <span class="stext">я согласен с <a href="{$rlnk}">правилами сайта</a> *</span> <br /><br /><input type="submit" value=" Загрузить трэк " class="bbcodes" /> </form> HTML; break; case 'doaddfile' : $name = $parse->process( $parse->remove( $_POST['name'] ) ); $artist = $parse->process( $parse->remove( $_POST['artist'] ) ); $category = intval( $_POST['category'] ); $rules = intval( $_POST['rules'] ); $parse->wysiwyg = true; $descr = $parse->BB_Parse( $parse->process( $_POST['comments'] ) ); if ( $user_group[$member_id['user_group']]['mservice_addfile'] != 1 ) $stop[] = 'У вас недостаточно прав для публикации трэков'; if ( $name == '' ) $stop[] = 'Вы не ввели название трэка'; if ( $artist == '' ) $stop[] = 'Вы не ввели исполнителя'; if ( $category == 0 OR $category == '' ) $stop[] = 'Вы не выбрали категорию'; if ( $_FILES['file']['size'] == FALSE ) $stop[] = 'Вы не выбрали файл для загрузки'; if ( $user_group[$member_id['user_group']]['mservice_captcha'] == 1 ) { if ( $_POST['sec_code'] != $_SESSION['sec_code_session'] OR ! $_SESSION['sec_code_session'] ) $stop[] = 'Неверный защитный код'; } if ( $rules != 1 ) $stop[] = 'Вы не согласились с правилами сайта.'; $allowed_files = explode( ',', strtolower( $mscfg['filetypes'] ) ); $tfile = end( explode( ".", totranslit( $_FILES['file']['name'] ) ) ); $file_allow = FALSE; for ( $f = 0; $f < count( $allowed_files ); $f ++ ) { if ( $tfile == $allowed_files[$f] ) $file_allow = TRUE; } if ( $file_allow == FALSE ) $stop[] = 'Вы не можете загружать файлы такого типа'; if ( $_FILES['file']['size'] > $mscfg['maxfilesize'] * 1024 ) $stop[] = '????????? ???? ???? ??????? ???????'; if ( count( $stop ) == 0 ) { $time = time( ); $filename = md5( $time + rand( 0, 1000 ) ) . '.' . $tfile; @move_uploaded_file( $_FILES['file']['tmp_name'], ROOT_DIR . '/uploads/mservice/' . $filename ); if ( $user_group[$member_id['user_group']]['mservice_newtrack_approve'] == 1 ) $db->query( "INSERT INTO " . PREFIX . "_mservice ( time, title, rating, approve, vote_num, category, artist, download, description, filename, uploader, view_count ) VALUES ( '$time', '$name', '0', '1', '0', '$category', '$artist', '0', '$descr', '$filename', '$member_id[user_id]', '0' )" ); else $db->query( "INSERT INTO " . PREFIX . "_mservice ( time, title, rating, approve, vote_num, category, artist, download, description, filename, uploader, view_count ) VALUES ( '$time', '$name', '0', '0', '0', '$category', '$artist', '0', '$descr', '$filename', '$member_id[user_id]', '0' )" ); $db->query( "UPDATE " . PREFIX . "_mservice_category SET count = count + 1 WHERE cid = '$category'" ); // ??????? ??? ??? ????????? @unlink( ENGINE_DIR . '/cache/system/mservice_category.php' ); clear_cache( ); $row = $db->super_query( "SELECT mid FROM " . PREFIX . "_mservice WHERE filename = '$filename'" ); if ( $config['allow_alt_url'] == 'yes' ) $vlnk = $config['http_home_url'] . 'music/' . $row['mid'] . '-' . totranslit( $artist ) . '-' . totranslit( $name ) . '.html'; else $vlnk = $config['http_home_url'] . 'index.php?do=music&act=view&mid=' . $row['mid']; if ( $user_group[$member_id['user_group']]['mservice_newtrack_approve'] == 1 ) { $mcontent = <<<HTML <div class="stext">Загруженый аудио трэк ( {$artist} - {$name} ) - успешно сохранён и добален в базу данных!<br /><a href="{$vlnk}">Перейти к прослушке трэка...</a></div> HTML; } else { $mcontent = <<<HTML <div class="stext">Загруженый аудио трэк ( {$artist} - {$name} ) - успешно сохранён и добален в базу данных! Трэк будет добавлен после того как пройдёт модерацию.</div> HTML; } } break; Это отрывок кода как я понял и отвечает за загрузку файлов на сервер в моём случае это музыка. Очень не удобно когда при загрузке не видно самого процесса. Я буду очень благодарен если Вы поможете.