Фоновое выполнение скрипта и процент выполнения на примере функции copy();

Здравствуй, %user_name%!
И так ближе к вопросу.
Всем известно, что с функцией copy(); скрипт будет выполняться до тех пор, пока не загрузит файл с сервера (в моем случае меня интересует только интернеты, а не localhost).
Итак, мне нужно сделать так, чтобы copy(); выполнялась фоново и я смог бы получить процент загрузки.
И да, надо сделать это с учетом того, что большая часть трафика - мобильники.
  • Вопрос задан
  • 3024 просмотра
Пригласить эксперта
Ответы на вопрос 3
ScorpLeX
@ScorpLeX
Ну я вижу тут 2 возможных варианта.
Реализовать свою собственную функцию копирования, открывать файл, читать часть и записывать в новый файл, попутно обновляя процент завершения операции в базе данных. Другой скрипт будет просто читать сколько процентов из базы и выводить.
Но я бы так не делал, это очень плохо скажется на производительности.
Второй вариант это выводить процент на основе примерного подсчета, в зависимости от размера файла и загруженности диска.
Ответ написан
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Ну с этим особых проблем нет.
Получаем заголовки по ссылке, узнаём размер. Записываем его в сессию.
Так же в сессию записываем путь к файлу. Запускаем скачивание.

При открытии страницы, проверяем размер скачанного файла, и сверяем с размером в сессии. Отсюда и получаем процент готовности.
Ответ написан
Mike77
@Mike77
lamp sf2 yii разработчик
можешь передавать через GET с какого участка читать файл и ajax запросом или редиректами реализовать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы