Я пытаюсь создать монитор с помощью cURL, чтобы отслеживать различные панели инструментов. Идея состоит в том, что я загружаю кучу URL-адресов, которые я хочу видеть из базы данных, и после запуска этого кода в окне браузера мне показывают эти URL-адреса в течение ограниченного времени (например, я показываю www.dashboard .zopim.com в течение 10 секунд, затем он переходит на другой URL-адрес в течение 30 секунд и т. д., и когда он заканчивается, он начинается снова).Отображение нескольких страниц с помощью cURL/PHP
<?php
include_once('connection.php');
$query = "SELECT url, time FROM $tb ORDER BY position";
$result = mysqli_query($connection_, $query);
$rowcount = mysqli_num_rows($result);
$curl_handle = curl_init();
$data = array();
//base array building
while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
$data_b = array();
$data_b['curl_handle'] = $curl_handle;
$data_b['url'] = $row[0];
$data_b['time'] = $row[1];
array_push($data, $data_b);
}
for ($i=0; $i < $rowcount; $i++) {
$ch = $data[$i]['curl_handle'];
curl_setopt($ch, CURLOPT_URL, $data[$i]['url']);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
$grab = curl_exec($ch);
usleep($data[$i]['time']*100);
curl_close($ch);
return $grab;
}
?>
Проблема в том, что я даже не могу запустить ее. Как сейчас, он просто загружает первую страницу и остается там.
Также, как комментарий, поскольку я совершенно незнакомый cURL в целом, есть ли лучший способ сделать это? Я читал, что есть многофункция, которая позволяет мне загружать несколько URL-адресов асинхронно, но я не уверен, что это послужит мне тем, что я хочу.
Я думаю, что большая часть этого придется полагаться на JS. – Kaylined
Мне не разрешено вмешиваться непосредственно в серверы или что-то в этом роде, поэтому оно должно ограничиваться самим кодом. Хотите поделиться предложением? – lower
Я думаю, что ваш лучший вариант здесь - нажать все URL-адреса сразу на ваш JS и настроить IFRAME для отображения сайта, а JS обновить