Автор Тема: Контроль за скачиванием файлов  (Прочитано 3878 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн litvinenko

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Доброго времени суток всем!
Помогите люди добрые.
Начальство поставило такую вот, на мой взгляд, бесполезную, но ОЧЕНЬ хЫтрую задачу. Вот ее полный текст:

"нужен скрипт.

входным параметром он получает имя файла который надо закачать человеку.
берет этот файл и начинает отдавать. если закачка прервалась - он отсылает на страницу - извините не получилось. если все прошло успешно прокидывает на страницу - спасибо большое."

Помогите, плз. С самой закачкой проблем нет. Но вот, как отследить, докачался ли файл полностью, ничего ли не произошло плохого во время скачивания - это у меня не получается отследить.

Оффлайн vasa_c

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 157
  • +0/-0
  • 0
    • Просмотр профиля
    • http://blgo.ru/blog/
Контроль за скачиванием файлов
« Ответ #1 : 16 Июня 2006, 10:47:36 »
ИМХО, за этим следить должен получатель.
Блог ГО

Оффлайн litvinenko

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 5
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Контроль за скачиванием файлов
« Ответ #2 : 16 Июня 2006, 11:02:03 »
структура такая:

из файла 1.php открывается окно 2.php, где происходит скачивание файла и запись кол-ва скачанных байт в файл count.txt
Мне осталось только в файле 1.php одновременно с выполнением скрипта из 2.php проверять значение в файле count.txt с реальным размером скаченного файла.
НО в этом то и вся проблема: как сделать так, чтобы это происходило одновременно?
--------
файл 1.php


echo "";
      $size = file(\'count.txt\');
      if($size[0]==filesize(\'12.zip\'))
      {
         echo "ok";
      }
      else
      {
         echo "bad";
      }
?>

Файл 2.php

$file = $_GET[\'file\'];
ignore_user_abort(false);
header(\'Content-Type: application/octet-stream;\');
header(\'Content-Disposition: attachment; filename="\'.$file.\'"\');
$contents = \'\';
define(\'FILE_PART_SIZE\',8192);
$c = readfile($file);
        $h2=fopen(\'count.txt\',\'w\');
        fwrite($h2,$c);
        fclose($h2);  
  flush();
fclose($h);
?>

Оффлайн vasa_c

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 157
  • +0/-0
  • 0
    • Просмотр профиля
    • http://blgo.ru/blog/
Контроль за скачиванием файлов
« Ответ #3 : 16 Июня 2006, 11:34:30 »
1. В поиск по AJAX.
2. Здесь считается какой объем отдал сценарий, а то что все что он вывел, дойдет до получателя еще отнюдь не факт.
И flush() ставь, после последнего header, потому что пока не придут все заголовки браузер ничего качать не будет.
Блог ГО

Оффлайн grisha

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 28
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Контроль за скачиванием файлов
« Ответ #4 : 16 Июня 2006, 12:21:59 »
вот интересный линк
http://netgen.com.ua/forums/topic.php?id=301

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28