Я написал простенький PHP curl парсер информации по файлам с регистратора Dahua, но данные которые он собирает очень объемные и по сути все параметры кроме двух бесполезные. Получает данные он массивом
в видеArray
(
[0] => Main
[1] => 0
[2] => dav
[3] => 2022-05-23 08:42:36
[4] => 2022-05-23 08:43:13
[5] => 10
[6] => 2
[7] => 509063
[8] => /mnt/dvr/2022-05-23/0/dav/08/1/2/509063/08.42.36-08.43.13[M][0@0][0].dav
[9] => 17301504
[10] => Event
[11] => VideoMotion
[12] => 17301504
я понял как получать с него данные по ключу. Например: echo print_r($array[3], true); , но тк данных прилетает больше 1000 ключей - я не понимаю как получить с него только дату в виде
yyyy-mm-dd hh:mm:ss
без ввода ключа элемента.
Собственно вопрос в этом и заключается: как вывести из всего массива только даты и время?
Если понадобиться то вот сам
код function digestAuth($url, $code = false)
{
$ch = curl_init($url);
curl_setopt_array($ch, [CURLOPT_USERPWD => "$login:$password", CURLOPT_CONNECTTIMEOUT => 15, CURLOPT_RETURNTRANSFER => 1, CURLOPT_HTTPAUTH=>CURLAUTH_ANY]);
$res = curl_exec($ch);
if ($code) return curl_getinfo($ch, CURLINFO_HTTP_CODE);
return $res;
}
$firstreq = digestAuth("http://$login:$password@$url/cgi-bin/mediaFileFind.cgi?action=factory.create");
$id = explode("=",trim($firstreq));
$reqStat = trim(digestAuth("http://$login:$password@$url/cgi-bin/mediaFileFind.cgi?action=findFile&object={$id[1]}&condition.Channel=1&condition.StartTime=$start&condition.EndTime=$end&condition.Types[0]=dav"));
$secreq = digestAuth("http://$login:$password@$url/cgi-bin/mediaFileFind.cgi?action=findNextFile&object={$id[1]}&count=1024");
preg_match_all("/items[[\d]+]\.[^=]+=([^s]+)\s/", $secreq, $m);
echo "<pre>0 = ";
echo print_r($m, true);
echo "</pre>";
PS в php я - полный ноль, взялся только потому что не хочу каждый день проверять 100+ регистраторов по 16 камер вручную(