Вы не зашли.
В чем дело при отдаче файла отдается нормально до 99.9% и когда уже в браузере остается 0 сек. идет задержка где то пол минуты. И потом только пишет загружено. Вот код отдачи файлов.
Код:
span style="color: #0000BB"><?phperror_reporting(0);ini_set('zlib.output_compression', 'Off');ini_set('output_handler', '');ini_set('max_execution_time', 999);set_time_limit(999);require './sistem/sistem.class.php';$_SET = new Start;$down = true;require './sistem/informator.class.php';$query = $_SERVER['QUERY_STRING'];$id = @explode('/', $_SERVER['REQUEST_URI']);if (substr($id[2], 0, 3) == 'id_') { preg_match('/id_(\d+)/', $id[2], $id); $id = (int)$id[1];} else { $id =(int) $id[2];}$q = mysql_query("SELECT * FROM `video` WHERE `id` = {$id}");if (mysql_num_rows($q)) { $row = mysql_fetch_array($q); $url = $row['url_file'];}if (substr($_SERVER['REQUEST_URI'], -3) == 'flv') { $url = preg_replace('/\.[^\.]+$/', '', $url) . '.flv';}$url = @parse_url($url);$fp = @fsockopen($url['host'], 80, $errno, $errstr, 10);if (!$fp) { exit('Warning. Server problem');}foreach($_SERVER as $k=> $v) { $http=substr($k, 0, 5); if($http == 'HTTP_') { $h=substr($k, 5); if($h == 'HOST') $headers .= 'Host: ' . $url['host'] . "\r\n"; elseif($h == 'REFERER') $headers .= 'Referer: http://' . $url['host'] . "\r\n"; else $headers .= $h.': '.$v."\r\n"; }}fputs ($fp, "GET " . $url['path'] . " HTTP/1.0\r\n" . $headers . "\r\n");$headers = array();while (!feof($fp)) { $b = trim(fgets($fp)); if(!$b) break; if(substr($b, 0, 5) == 'HTTP/') { $headers['HTTP'] = $b; }else { $buf=explode(': ', $b); $headers[$buf[0]] = $buf[1]; }}$name = 'the-best-xxx_ru-' . basename($url['path']); //header($headers['HTTP']); header('Connection: Close'); header('Content-Transfer-Encoding: binary'); header('Content-Disposition: attachment; filename="' . $name . '"'); header('Content-Type: ' . $headers['Content-Type']);if($headers['Content-Range']) header('Content-Range: ' . $headers['Content-Range']);if($headers['Content-Length']) header('Content-Length: ' . $headers['Content-Length']);if($headers['Accept-Ranges']) header('Accept-Ranges: ' . $headers['Accept-Ranges']);while (!feof($fp)) { echo fread($fp, 1024); //usleep(1000); flush();} |
#212.
Игорь482
Гость
2011.09.08 19:07
Подскажите пожалуйста, сайт стоит на сервере но после обновления ПО Текст: функция toGDImage
выдает ошибку /ffmpeg.so:
undefined symbol:
img_convert...
Зарание спасибо
TLENS, это антивирус скорее всего) посмотри загрузку проца что жрет ресурсы.
Добавлено спустя 38 секунд: Игорь482, код приведи плз.
Gemorroj написал:
это антивирус скорее всего) посмотри загрузку проца что жрет ресурсы.
Антивирь даже отключил тоже самое, да и на процессах ничего заметного не происходит загрузчик жрет.
Но вот выполнил copy на денвере то он без задержки скопировал.
Я запутался. Если даже проблема в юзер-агенте то почему на других сайтах норм а с моего задержка пробовал оперу и хром.
Может проблема в скрипте?
Отредактировано TLENS (2011.09.08 21:09)
Что то с загрузчиком. Пробовал с мобильного 300 кб качает и все. сейчас буду раздуплять
ну, я не вижу проблем в скрипте..(
Изза чего может быть 300 кб?
возможно, дело в Content-Encoding. Удаленный сервер его передает, а ты нет.
Поставил то же самое. Сейчас напишу код похож и буду ему давать заголовки прослежу как он отвечает
Паша ответь мне плис что это такое, Какие есть предположения?
Код:
span style="color: #0000BB"><?php //--- Выдача файла --// public function readfile () { //fpassthru($this->fp); $starttime = microtime(1); $fp = fopen('info.txt', 'a'); while (!feof($this->fp)) { $len = strlen(fread($this->fp, 1024)); $stt = microtime(1); fputs($fp, $len . ' - ' . ($stt - $starttime) . "\n"); $starttime = $stt; } } |
Дак вот в файле info.txt ряд ожидаемых строчек.
Но последние:
1024 - 5.00679016113E-6
1024 - 0.001140832901
1024 - 2.00271606445E-5
1024 - 1.09672546387E-5
348 - 60.0000932217
0 - 14.9743289948
Это слишком!
---------------------
С другими хостами например с твого норм только с одним сайтом такая трабла.
Предположение бан по маске.
Так как с других серверов норм.
Но почему файлы дает фиг его знает.
Отредактировано TLENS (2011.09.09 22:10)