За последние 24 часа нас посетили 17924 программиста и 1649 роботов. Сейчас ищут 1311 программистов ...

Файлы изменяются при скачивании!?!?

Тема в разделе "Вопросы от блондинок", создана пользователем DiZeee, 18 июл 2007.

  1. DiZeee

    DiZeee Активный пользователь

    С нами с:
    18 июл 2007
    Сообщения:
    2
    Симпатии:
    0
    Всем привет!

    Столкнулся вот с такой странностью. Для начала код:

    PHP:
    1.  
    2.     $vod_id = intval($_REQUEST["vod_id"]);
    3.     // $vod_file - берём имя файла из бд
    4.     $fpath=$_SERVER['DOCUMENT_ROOT']."/vods/{$vod_file}";
    5.     $file = $vod_file;
    6.     $filesize = filesize($fpath);
    7.  
    8.     header("Content-type: video/x-ms-wmv");
    9.     header("Accept-Ranges: bytes");
    10.     header("Content-Length: ".$filesize);
    11.     header("Content-Disposition: attachment; filename=".$file);
    12.     $fdl = fopen($fpath, "r");
    13.     fpassthru($fdl);
    14.     fclose($fdl);
    15.     header ("Connection: close");
    16.  
    В скаченном таким образом файле (в данном случае видео) обрезается последний байт, а первым вставляется перенос строки (0x0A). Размер файла соответственно не меняется. Файлы при этом не читаются.

    Прикол в том, что если файл закачивать на сервер через php и при этом сразу вносить размер файла в бд, а $filesize при скачивании брать от туда, то файл скачивается нормально без измененний, хотя и в первом (filesize($fpath)) и во втором (предварительно занесённый в бд) случаях значение размера одно и тоже.

    Если вообще убрать $filesize - файлы скачиваются и даже читаются, но вот размер у них получается совершенно не адекватный

    Файлы на сервере проверяли, на прямую скачиваются нормально. До этого был другой, более сложный скрипт, проблема была та же.[/php]
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Код (Text):
    1. $fdl = fopen($fpath, 'rb');
    ?
     
  3. DiZeee

    DiZeee Активный пользователь

    С нами с:
    18 июл 2007
    Сообщения:
    2
    Симпатии:
    0
    Sergey89
    неа
     
  4. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Проверь свои скрипты, нет ли где лишнего вывода за пределами тегов <?php...?> (того же переноса строки).