Старый 01.05.2009, 06:47   #1
Ваnnеd
 
Аватар для V!rus
 
Регистрация: 07.07.2007
Адрес: нет? :) Танцысбубном: да
Сообщений: 1,967
Вес репутации: 235
V!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущее
Отправить сообщение для V!rus с помощью ICQ
По умолчанию Докачка через пхп

Порылся, нашел только
PHP код:
function downloadFile($filename$mimetype='application/octet-stream') {
    if (!
file_exists($filename)) die('Файл не найден');

    
$from=$to=0$cr=NULL;

    if (isset(
$_SERVER['HTTP_RANGE'])) {
        
$range=substr($_SERVER['HTTP_RANGE'], strpos($_SERVER['HTTP_RANGE'], '=')+1);
        
$from=strtok($range'-');
        
$to=strtok('/'); if ($to>0$to++;
        if (
$to$to-=$from;
        
header('HTTP/1.1 206 Partial Content');
        
$cr='Content-Range: bytes ' $from '-' . (($to)?($to '/' $to+1):filesize($filename));
    } else    
header('HTTP/1.1 200 Ok');

    
$etag=md5($filename);
    
$etag=substr($etag08) . '-' substr($etag87) . '-' substr($etag158);
    
header('ETag: "' $etag '"');

    
header('Accept-Ranges: bytes');
    
header('Content-Length: ' . (filesize($filename)-$to+$from));
    if (
$crheader($cr);

    
header('Connection: close');
    
header('Content-Type: ' $mimetype);
    
header('Last-Modified: ' gmdate('r'filemtime($filename)));
    
$f=fopen($filename'r');
    
header('Content-Disposition: attachment; filename="' basename($filename) . '";');
    if (
$fromfseek($f$fromSEEK_SET);
    if (!isset(
$to) or empty($to)) {
        
$size=filesize($filename)-$from;
    } else {
        
$size=$to;
    }
    
$downloaded=0;
    while(!
feof($f) and !connection_status() and ($downloaded<$size)) {
        echo 
fread($f512000);
        
$downloaded+=512000;
        
flush();
    }
    
fclose($f);

на одном сайте человек написал, что у автора две ошибки. Проблема в том, что если скачиваешь видео - оно повреждается. Кто поможет понять в чем дело?
Мб у кого есть рабочий код?

Добавлено через 2 минуты
до этого у меня был такой код, откуда взял не помню, но с видео тоже самое
PHP код:
 function downloadfile($filename)
{
//  $fn = $HTTP_GET_VARS['name'];
  
$fsize filesize($filename);
  
$ftime date("D, d M Y H:i:s T"filemtime($filename));
  
$fd = @fopen($filename"rb");

  if(!
$fd)
  {
      
    
header($_SERVER["SERVER_PROTOCOL"] . " 403 Forbidden");
    exit;
  }
  
// Если запрашивающий агент поддерживает докачку
  
if($_SERVER["HTTP_RANGE"])
  {
    
$range $_SERVER["HTTP_RANGE"];
    
$range str_replace("bytes="""$range);
    
$range str_replace("-"""$range);
    if(
$range)
      
fseek($fd$range);
  }
  
$content fread($fd$fsize);
  
        
  if(
$range)
    
header($_SERVER["SERVER_PROTOCOL"] . " 206 Partial Content");
  else
    
header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");

  
header("Content-Disposition: attachment; filename=$filename");
  
header("Last-Modified: $ftime");
  
header("Accept-Ranges: bytes");
  
header("Content-Length: " . ($fsize-$range) );
  
header("Content-Range: bytes $range-".($fsize -1). "/" $fsize);
  
header("Content-Type: application/octet-stream");
print 
$content;

__________________
Помогаю рефералам.
Осуществляю поддержку сайтов с OpenCart, Bitrix, Wordpress, DLE, Drupal, WebAsyst и пр. Скайп agriboed

Последний раз редактировалось V!rus; 01.05.2009 в 06:47. Причина: Добавлено сообщение
V!rus вне форума   Ответить с цитированием
Старый 01.05.2009, 15:35   #2
Эксперт
 
Аватар для MS555
 
Регистрация: 02.09.2008
Адрес: РФ
Сообщений: 1,009
Вес репутации: 181
MS555 - за этого человека можно гордитсяMS555 - за этого человека можно гордитсяMS555 - за этого человека можно гордитсяMS555 - за этого человека можно гордитсяMS555 - за этого человека можно гордитсяMS555 - за этого человека можно гордитсяMS555 - за этого человека можно гордитсяMS555 - за этого человека можно гордитсяMS555 - за этого человека можно гордитсяMS555 - за этого человека можно гордится
По умолчанию

Долго разбираться в чём проблема) но у меня при скачке на php с внешнего сервака, повреждался видеофайл изза того что в Апаче небыли прописаны некоторые типы файлов и скачка шла как текстовый файл. Ну и там кавычки magic quotes в URL какие то были вроде, надо запретить в php.ini )
И вобще читай логи и скачанный файл смотри в каком виде и всё станет ясно)
MS555 вне форума   Ответить с цитированием
Старый 01.05.2009, 16:40   #3
Ваnnеd
 
Аватар для V!rus
 
Регистрация: 07.07.2007
Адрес: нет? :) Танцысбубном: да
Сообщений: 1,967
Вес репутации: 235
V!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущее
Отправить сообщение для V!rus с помощью ICQ
По умолчанию

Цитата:
Сообщение от MS555 Посмотреть сообщение
И вобще читай логи и скачанный файл смотри в каком виде и всё станет ясно)
размер файла нормально, если качать не через пхп - нормально, остальные типы файлов будь то мп3 или зип - нормально.
__________________
Помогаю рефералам.
Осуществляю поддержку сайтов с OpenCart, Bitrix, Wordpress, DLE, Drupal, WebAsyst и пр. Скайп agriboed
V!rus вне форума   Ответить с цитированием
Старый 01.05.2009, 22:57   #4
Вредина
 
Аватар для Jooz
 
Регистрация: 03.07.2007
Адрес: д.Коноплянка
Сообщений: 3,535
Вес репутации: 388
Jooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущееJooz - прекрасное будущее
По умолчанию

А чем wget плох? 1 строчка кода.
__________________
Чтобы произошло чудо нужно обязательно дунуть. Если не дунуть - чуда не произойдет!
Jooz вне форума   Ответить с цитированием
Старый 03.05.2009, 15:52   #5
Ваnnеd
 
Аватар для V!rus
 
Регистрация: 07.07.2007
Адрес: нет? :) Танцысбубном: да
Сообщений: 1,967
Вес репутации: 235
V!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущее
Отправить сообщение для V!rus с помощью ICQ
По умолчанию

Цитата:
Сообщение от Jooz Посмотреть сообщение
А чем wget плох? 1 строчка кода.
можно пример?
__________________
Помогаю рефералам.
Осуществляю поддержку сайтов с OpenCart, Bitrix, Wordpress, DLE, Drupal, WebAsyst и пр. Скайп agriboed
V!rus вне форума   Ответить с цитированием
Старый 05.05.2009, 01:49   #6
Пожиратель черепашкоВ
 
Аватар для chahlic
 
Регистрация: 24.12.2008
Адрес: Телемелетрямдия
Сообщений: 4,742
Вес репутации: 351
chahlic - прекрасное будущееchahlic - прекрасное будущееchahlic - прекрасное будущееchahlic - прекрасное будущееchahlic - прекрасное будущееchahlic - прекрасное будущееchahlic - прекрасное будущееchahlic - прекрасное будущееchahlic - прекрасное будущееchahlic - прекрасное будущееchahlic - прекрасное будущее
По умолчанию

Цитата:
Сообщение от V!rus Посмотреть сообщение
можно пример?
Сам с этим никогда не работал, но посмотрите здесь - вроде даже понятным языком. Ну или еще поищите подобного
__________________
Смотри цены в САПе в своей валюте: плагин "Конвертер Валют" для ФФ.
chahlic вне форума   Ответить с цитированием
Старый 06.05.2009, 03:01   #7
Ваnnеd
 
Аватар для V!rus
 
Регистрация: 07.07.2007
Адрес: нет? :) Танцысбубном: да
Сообщений: 1,967
Вес репутации: 235
V!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущееV!rus - прекрасное будущее
Отправить сообщение для V!rus с помощью ICQ
По умолчанию

Блинннн... Извините, я тупой )
Скрипт рабочий, просто в файл еще дописывался вывод ошибок )
error_reporting(0) и все отлично
__________________
Помогаю рефералам.
Осуществляю поддержку сайтов с OpenCart, Bitrix, Wordpress, DLE, Drupal, WebAsyst и пр. Скайп agriboed
V!rus вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
У *ОПов все через *опу. imcl Курилка 13 29.10.2008 23:01
Связь через асю Santafe Пожелания пользователей системы 22 16.10.2008 09:22
Выплаты через epassporte Round Пожелания пользователей системы 0 02.10.2008 09:55
Сапе через js FlaBla Пожелания пользователей системы 14 06.11.2007 09:55
про код через include dspu Ошибки при работе с системой 8 23.07.2007 19:22


Часовой пояс GMT +3, время: 23:37.