Сделать долгой загрузку страницы

203
06 мая 2018, 17:08

Нужно сделать страницу так, чтоб грузилась очень долго, но не знаю как ето зделать, помогите.

Answer 1

Можно инициировать задержку с помощью функции sleep():

sleep(10);  // 10-секундная задержка
/*
код скрипта
*/
Answer 2

В Chrome DevTools есть специальный инструмент для тестирования веб-приложений в условиях медленной сети или даже оффлайн.

Называется он "Network Throttling"

  • Нажимаете F12, вкладка Network/Сеть

Answer 3

Недавно узнал, как можно посылать ответ частями (chunk).

Скрипт ниже отправляет содержимое в браузер частями, с задержкой $sleepTimeMs.

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

При отправке бинарного файла-картинки с прогрессивным сжатием она будет отрисовываться:

Скрипт slow.php:

// локальный файл, который будем посылать в браузер. можно передавать бинарные данные
$localFile = __DIR__ . '/../data/top1000.json';
// задержка перед отправкой следующей части, мс
$sleepTimeMs = 500000;
// размер части, должен совпадать с размером буферной зоны PHP
$chunkSize = (int)ini_get('output_buffering');
$file = fopen($localFile, "r");
header("Transfer-encoding: chunked");
header("Content-Encoding: none");
flush();
while(!feof($file)) {
  $chunk = fread($file, $chunkSize);
  // размер части
  printf("%x\r\n", strlen($chunk));
  // часть
  echo $chunk . "\r\n";
  // отправляем содержимое в браузер
  flush();
  usleep($sleepTimeMs);
}
fclose($file);
// завершаем передачу, если не выполнить, curl выдаст такую ошибку:
// curl: (18) transfer closed with outstanding read data remaining
echo "0\r\n\r\n";
flush();
// Все что ниже, не будет получено браузером, но веб-сервер, по-идее, эту часть также отправит:
// die('Эта часть не будет загружена');

Чтобы детально рассмотреть ответ сервера, выполните:

curl --raw -k --verbose -i http://{ваш-сайт}/slow.php > /tmp/response.txt
less /tmp/response.txt

Выглядеть будет так

Ссылки

https://stackoverflow.com/questions/2481858/how-to-make-php-generate-chunked-response

READ ALSO
Получение информации с сайта C++

Получение информации с сайта C++

Такое задание: Есть список авторов и нужно получить все их публикации на сайте elibraryru

200
vue js onclick for select

vue js onclick for select

Пытался сделать так, чтобы при создании селектов опция, которая уже установлена продукту была сразу выставленаВсе бы ничего, но мне захотелось...

295
Автоматизирование таблиц при помощи jquery

Автоматизирование таблиц при помощи jquery

Имеется таблица на сайте и хотелось бы её как-то автоматизировать

196