Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скачивание файлов php 4.2 
:(
    Опции темы
deviantik
  Дата 22.5.2010, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.4.2010

Репутация: нет
Всего: нет



Здравствуйте, помогите пожалуйста.
Организовую скачивание файлов с помощью php. Для этого использую такой скрипт
Код

<?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($etag, 0, 8) . '-' . substr($etag, 8, 7) . '-' . substr($etag, 15, 8);
    header('ETag: "' . $etag . '"');

    header('Accept-Ranges: bytes');
    header('Content-Length: ' . (filesize($filename)-$to+$from));
    if ($cr) header($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 ($from) fseek($f, $from, SEEK_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($f, 512000);
        $downloaded+=512000;
        flush();
    }
    fclose($f);
} 
 ?>


На локальной машине (XAMPP) все работает на ура. любые типы файлов с докачкой и пр.

Но на сервере (Windows Server 2003, Apache/1.3.24, PHP 4.2.0) почему то не работает. Точнее если это txt файлик, например, или html то все нормально. А вот если что то другое то скачивется всего несколько одинаковых байт. Например для .doc всегда 6 байт, для .zip - 16.
Я так подозреваю что Апач нужно настроить для этого. А может вопрос в версии php.
Подскаите пожалуйста.

Заранее благодарен

Это сообщение отредактировал(а) deviantik - 22.5.2010, 12:53
PM MAIL   Вверх
liliputochka
Дата 24.5.2010, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 16.3.2006
Где: Волгоград

Репутация: нет
Всего: нет



Могу предложить тебе переписать код скачивания файлов через curl.

Добавлено через 28 секунд
Могу предложить тебе переписать код скачивания файлов через curl.
PM MAIL   Вверх
NewDima
Дата 25.5.2010, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 922
Регистрация: 20.2.2006
Где: <?here?>

Репутация: 10
Всего: 12



liliputochka, здесь не upload, а download
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.