SmartLiving.ru

Обсуждение проекта
 
Текущее время: Чт дек 14, 2017 7:32 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 79 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8
Автор Сообщение
СообщениеДобавлено: Вс июн 14, 2015 6:46 pm 
Не в сети

Зарегистрирован: Пн апр 06, 2015 9:51 am
Сообщения: 278
Благодарил (а): 29 раз.
Поблагодарили: 16 раз.
DiArt писал(а):
У меня вроде работают....

а можно получить "рабочую" версию ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пн июн 15, 2015 10:30 am 
Не в сети

Зарегистрирован: Вт мар 12, 2013 1:22 am
Сообщения: 405
Благодарил (а): 32 раз.
Поблагодарили: 56 раз.
В настройках сцен есть параметры:
Backround Fixed
Background No repeat

за что они отвечают? разные комбинации данных параметров никакого визуального эффекта у меня не дают.
И вообще скажите как замостить маленькую картинку на фоне для сцены, ато растягивается она на весь фрейм и никакой красоты.
Вот сама картинка:
Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт ноя 03, 2017 8:27 am 
Не в сети

Зарегистрирован: Пн дек 26, 2016 9:51 am
Сообщения: 650
Откуда: Екатеринбург
Благодарил (а): 94 раз.
Поблагодарили: 27 раз.
добавлю свой вариант вывода снапшотов с видеокамеры
создаем файл cam1.php для каждой камеры.

Скрипт просто выводит все фотографии из папки, отсортированные по дате, самые последние находятся вверху. Показывает титл=имя файла и по клику ссылка на сам файл

Код:

<?php

function aksort
(&$array,$valrev=false,$keyrev=false) {
  if ($valrev) { arsort($array); } else { asort($array); }
    $vals = array_count_values($array);
    $i = 0;
    foreach ($vals AS $val=>$num) {
        $first = array_splice($array,0,$i);
        $tmp = array_splice($array,0,$num);
        if ($keyrev) { krsort($tmp); } else { ksort($tmp); }
        $array = array_merge($first,$tmp,$array);
        unset($tmp);
        $i = $num;
    }
}


$dir = "./cam/cam1/";
 $files = array();
 foreach (scandir($dir) as $v) $files[$v] = filemtime("$dir/$v");
 aksort($files, true);
 $files = array_keys($files);

//print_r($files);

//$arr = scandir('./cam/cam1/');
$arr =$files;
foreach(
$arr as $b) {

//echo $b
if(stripos($b,'.jpg')) echo '<a href="./cam/cam1/'.$b.'" title='.$b.'><img src="./cam/cam1/'.$b.'" width="200" hegiht="200"  /></a>';

}
?>

_________________
connect: http://connect.smartliving.ru/profile/1502


Последний раз редактировалось directman66 Пт ноя 03, 2017 8:31 am, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт ноя 03, 2017 8:30 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 28, 2013 8:14 am
Сообщения: 3833
Откуда: Екатеринбург
Благодарил (а): 94 раз.
Поблагодарили: 782 раз.
Background fixed и no repeat как раз отаечают за фиксированное положение фона, и за "замостить". Но обратите внимание, что есть фон сцены, а есть обои сцены...вот эти параметры именно к фону относятся.

_________________
Raspberry Pi3 + Broadlink + esp8266 (blynk) + Arduino Mega (AMS)
Уважаемые пользователи! Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Помощь пользователям | Создание сцен


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Сб ноя 04, 2017 3:06 pm 
Не в сети

Зарегистрирован: Пн дек 26, 2016 9:51 am
Сообщения: 650
Откуда: Екатеринбург
Благодарил (а): 94 раз.
Поблагодарили: 27 раз.
Добавил календарь и фильтрацию снапшотов по ссылкам в календаре, думаю очень круто

[Показать] Скрытый текст:
Код:
<?php

function aksort
(&$array,$valrev=false,$keyrev=false) {
  if ($valrev) { arsort($array); } else { asort($array); }
    $vals = array_count_values($array);
    $i = 0;
    foreach ($vals AS $val=>$num) {
        $first = array_splice($array,0,$i);
        $tmp = array_splice($array,0,$num);
        if ($keyrev) { krsort($tmp); } else { ksort($tmp); }
        $array = array_merge($first,$tmp,$array);
        unset($tmp);
        $i = $num;
    }
}



////////////////
 
function showdate
($dir,$fdate) {

 $files = array();
 foreach (scandir($dir) as $v) {$files[$v] = filemtime("$dir/$v");

}
 aksort($files, true);
 $files = array_keys($files);

//print_r($files);

//$arr = scandir('./cam/cam1/');
$arr =$files;
foreach(
$arr as $b) {

if(
stripos($b,'.jpg')){


//echo $dir.$b.":".date ("d.m.Y",filemtime ($dir.$b))."==".$fdate;
//echo $fdate;
if (date ("d.m.Y",filemtime($dir.$b))==$fdate)
{
echo '<a href="'.$dir.$b.'"  title='.$b.'><img src="'.$dir.$b.'" width="200" hegiht="200"  /></a>';}
}
//echo "<br><br>";
}
}



function draw_calendar($month, $year, $action = 'none', $ch) {
//echo '23'.$ch;
    $calendar = '<table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    
    
// вывод дней недели
    $headings = array('Пн','Вт','Ср','Чт','Пт','Сб','Вс');
    $calendar.= '<tr class="b-calendar__row">';
    for($head_day = 0; $head_day <= 6; $head_day++) {
        $calendar.= '<th class="b-calendar__head';
        // выделяем выходные дни
        if ($head_day != 0) {
            if (($head_day % 5 == 0) || ($head_day % 6 == 0)) {
                $calendar .= ' b-calendar__weekend';
            }
        }
        $calendar .= '">';
        $calendar.= '<div class="b-calendar__number">'.$headings[$head_day].'</div>';
        $calendar.= '</th>';
    }
    $calendar.= '</tr>';

    // выставляем начало недели на понедельник
    $running_day = date('w',mktime(0,0,0,$month,1,$year));
    $running_day = $running_day - 1;
    if ($running_day == -1) {
        $running_day = 6;
    }
    
    $days_in_month 
= date('t',mktime(0,0,0,$month,1,$year));
    $day_counter = 0;
    $days_in_this_week = 1;
    $dates_array = array();
    
    
// первая строка календаря
    $calendar.= '<tr class="b-calendar__row">';
    
    
// вывод пустых ячеек
    for ($x = 0; $x < $running_day; $x++) {
        $calendar.= '<td class="b-calendar__np"></td>';
        $days_in_this_week++;
    }
    
    
// дошли до чисел, будем их писать в первую строку
    for($list_day = 1; $list_day <= $days_in_month; $list_day++) {
        $calendar.= '<td class="b-calendar__day';

        // выделяем выходные дни
        if ($running_day != 0) {
            if (($running_day % 5 == 0) || ($running_day % 6 == 0)) {
                $calendar .= ' b-calendar__weekend';
            }
        }
        $calendar .= '">';

        // пишем номер в ячейку
//str_pad($month, 2,"0",STR_PAD_LEFT)
//echo '123'.$ch;
        $calendar.= '<a href="cam2.php?cam='.$ch.'&dt='.str_pad($list_day, 2,"0",STR_PAD_LEFT).".".str_pad($month, 2,"0",STR_PAD_LEFT).".".$year.'"><div class="b-calendar__number">'.'    '.$list_day.'</div>';
        $calendar.= '</td></a>';

        // дошли до последнего дня недели
        if ($running_day == 6) {
            // закрываем строку
            $calendar.= '</tr>';
            // если день не последний в месяце, начинаем следующую строку
            if (($day_counter + 1) != $days_in_month) {
                $calendar.= '<tr class="b-calendar__row">';
            }
            // сбрасываем счетчики 
            $running_day = -1;
            $days_in_this_week = 0;
        }

        $days_in_this_week++; 
        $running_day
++; 
        $day_counter
++;
    }

    // выводим пустые ячейки в конце последней недели
    if ($days_in_this_week < 8) {
        for($x = 1; $x <= (- $days_in_this_week); $x++) {
            $calendar.= '<td class="b-calendar__np"> </td>';
        }
    }
    $calendar.= '</tr>';
    $calendar.= '</table>';

    return $calendar;
}



/////////////////////////////////////////////
///////////main
/////////////////////////////////////////////
//echo $HTTP_POST_VARS['date'] 
//echo '<pre>'.print_r(array_keys($_GET), true).'</pre>';

//$dt=date("d.m.Y");
//str_pad($month, 2,"0",STR_PAD_LEFT)
$mm=str_pad(date("m"), 2,"0",STR_PAD_LEFT);
$yy=str_pad(date("Y"), 4,"0",STR_PAD_LEFT);
//$cam="cam2";


if (empty($_GET['cam']))  {$cam="cam2";} else {$cam = $_GET['cam'];}
if (empty($_GET['dt']))  $dt=date("d.m.Y"); else $dt = $_GET['dt'];

//$cam = $_GET['cam'];
//$dt = $_GET['dt'];

//foreach($_GET as $key => $value){
//$key = $value;  
//echo $key."=".$value;echo "<br>";
//echo $_GET;
//parse_str($_GET, $output);
//echo $output['first'];  // value
//echo $output['arr'][0]; // foo bar
//echo $output['arr'][1];


//}
//echo "<br>";
$path="./cam/".$cam."/";

echo 'dt='.$dt;
//echo "<br>";
//echo  "cam=".$cam;
//echo "<br>";
//echo  '$path='.$path;




//Calendar();

echo draw_calendar($mm,$yy,null,$cam);


showdate($path,$dt);



?>



[Показать] Скрытый текст:
Вложение:
wewewedfdf.jpg
wewewedfdf.jpg [ 569.71 КБ | Просмотров: 549 ]

_________________
connect: http://connect.smartliving.ru/profile/1502


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт дек 07, 2017 2:48 pm 
Не в сети

Зарегистрирован: Чт дек 15, 2016 3:13 am
Сообщения: 56
Благодарил (а): 25 раз.
Поблагодарили: 16 раз.
Спасибо за код directman66, немного улучшил его
*внизу настройка кол-во месяцев в календаре
*подключил стиль автора календаря
*показывает какой день выделен

[Показать] Скрытый текст: Код
Код:

<style type="text/css">
        hr {
            height: 1px;
            overflow: hidden;
            font-size: 0;
            line-height: 0;
            background: #ccc;
            margin: 50px 0;
            border: 0;
        }

        /* css for calendar */
        .b-calendar {
            font: 14px/1.2 Arial, sans-serif;
            background: #f2f2f2;
        }
        .b-calendar--along {
            width: 300px;
            padding: 30px 40px;
            margin: 50px auto;
        }
        .b-calendar--many {
            padding: 20px;
            width: 250px;
            display: inline-block;
            vertical-align: top;
            margin: 0 20px 20px;
        }
        .b-calendar__title {
            text-align: center;
            margin: 0 0 20px;
        }
        .b-calendar__year {
            font-weight: bold;
            color: #333;
        }
        .b-calendar__tb {
            width: 100%;
        }
        .b-calendar__head {
            font: bold 14px/1.2 Arial, sans-serif;
            padding: 5px;
            text-align: left;
            border-bottom: 1px solid #c0c0c0;
        }
        .b-calendar__np {
            padding: 5px;
        }
        .b-calendar__day {
            font: 14px/1.2 Arial, sans-serif;
            padding: 8px 5px;
            text-align: center;
        }
        .b-calendar__weekend > a{
            color: red;
        }
        .day<?php echo date("dm");?>, .selectday<?php if (!empty($_GET["dt"])) { echo date('dm'strtotime($_GET['dt'])); } ?> { 
        color: #fff !important;
        background-color: #f00;
        border: 1px solid #f00;
        border-radius: 50%;
        display: block;
        }
        
        a {text-decoration: none; color: #000;}
        .b-calendar__number:hover {font-weight: 600;}
</style>

<?php

function aksort(&$array,$valrev=false,$keyrev=false) {
  if (
$valrev) { arsort($array); } else { asort($array); }
    
$vals array_count_values($array);
    
$i 0;
    foreach (
$vals AS $val=>$num) {
        
$first array_splice($array,0,$i);
        
$tmp array_splice($array,0,$num);
        if (
$keyrev) { krsort($tmp); } else { ksort($tmp); }
        
$array array_merge($first,$tmp,$array);
        unset(
$tmp);
        
$i $num;
    }
}

//////////////// НАСТРОЙКИ ВНИЗУ
 
function showdate($dir,$fdate) {

 
$files = array();
 foreach (
scandir($dir) as $v) {$files[$v] = filemtime("$dir/$v");

}
 
aksort($filestrue);
 
$files array_keys($files);

$arr =$files;
foreach(
$arr as $b) {

if(
stripos($b,'.jpg')){

if (
date ("d.m.Y",filemtime($dir.$b))==$fdate)
{echo 
'<a href="'.$dir.$b.'"  title='.$b.'><img src="'.$dir.$b.'" width="200" hegiht="200"  /></a>';}
}
}
}



function 
draw_calendar($month$year$action 'none'$ch) {
    
    if (
$month == date('m'strtotime("-11 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Январь</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-10 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Февраль</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-9 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Март</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-8 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Апрель</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-7 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Май</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-6 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Июнь</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-5 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Июль</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-4 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Август</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-3 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Сентябрь</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-2 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Октябрь</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m'strtotime("-1 month"))) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Ноябрь</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    if (
$month == date('m')) $calendar '<div class="b-calendar b-calendar--many"><div class="b-calendar__title"><span class="b-calendar__month">Декабрь</span> <span class="b-calendar__year">\''.date("y").'</span></div><table cellpadding="6" cellspacing="6" class="b-calendar__tb">';
    
    
// вывод дней недели
    
$headings = array('Пн','Вт','Ср','Чт','Пт','Сб','Вс');
    
$calendar.= '<tr class="b-calendar__row">';
    for(
$head_day 0$head_day <= 6$head_day++) {
        
$calendar.= '<th class="b-calendar__head';
        
// выделяем выходные дни
        
if ($head_day != 0) {
            if ((
$head_day == 0) || ($head_day == 0)) {
                
$calendar .= ' b-calendar__weekend';
            }
        }
        
$calendar .= '">';
        
$calendar.= '<div class="b-calendar__number">'.$headings[$head_day].'</div>';
        
$calendar.= '</th>';
    }
    
$calendar.= '</tr>';

    
// выставляем начало недели на понедельник
    
$running_day date('w',mktime(0,0,0,$month,1,$year));
    
$running_day $running_day 1;
    if (
$running_day == -1) {
        
$running_day 6;
    }
    
    
$days_in_month date('t',mktime(0,0,0,$month,1,$year));
    
$day_counter 0;
    
$days_in_this_week 1;
    
$dates_array = array();
    
    
// первая строка календаря
    
$calendar.= '<tr class="b-calendar__row">';
    
    
// вывод пустых ячеек
    
for ($x 0$x $running_day$x++) {
        
$calendar.= '<td class="b-calendar__np"></td>';
        
$days_in_this_week++;
    }
    
    
// дошли до чисел, будем их писать в первую строку
    
for($list_day 1$list_day <= $days_in_month$list_day++) {
        
$calendar.= '<td class="b-calendar__day';

        
// выделяем выходные дни
        
if ($running_day != 0) {
            if ((
$running_day == 0) || ($running_day == 0)) {
                
$calendar .= ' b-calendar__weekend';
            }
        }
        
$calendar .= '">';
        
        
//стиль
        
$styleday str_pad($list_day2,"0",STR_PAD_LEFT).str_pad($month2,"0",STR_PAD_LEFT);
        if (!empty(
$_GET["dt"])) {
        if (
$styleday == date('dm'strtotime($_GET['dt']))) { $selectday =  date('dm'strtotime($_GET['dt'])); } else { $selectday ""; }
        } else { 
$selectday "0"; }
        
        
// пишем номер в ячейку
        
$calendar.= '<a class="day'.$styleday.' selectday'.$selectday.'" href="img_security.php?cam='.$ch.'&dt='.str_pad($list_day2,"0",STR_PAD_LEFT).".".str_pad($month2,"0",STR_PAD_LEFT).".".$year.'"><div class="b-calendar__number">'.'    '.$list_day.'</div>';
        
$calendar.= '</td></a>';

        
// дошли до последнего дня недели
        
if ($running_day == 6) {
            
// закрываем строку
            
$calendar.= '</tr>';
            
// если день не последний в месяце, начинаем следующую строку
            
if (($day_counter 1) != $days_in_month) {
                
$calendar.= '<tr class="b-calendar__row">';
            }
            
// сбрасываем счетчики 
            
$running_day = -1;
            
$days_in_this_week 0;
        }

        
$days_in_this_week++; 
        
$running_day++; 
        
$day_counter++;
    }

    
// выводим пустые ячейки в конце последней недели
    
if ($days_in_this_week 8) {
        for(
$x 1$x <= ($days_in_this_week); $x++) {
            
$calendar.= '<td class="b-calendar__np"> </td>';
        }
    }
    
$calendar.= '</tr>';
    
$calendar.= '</table></div>';

    return 
$calendar
}

/////////////////////////////////////////////НАСТРОЙКИ ПАПКИ КАМЕРЫ
$imgcam "backup";
/////////////////////////////////////////////КОНЕЦ

$mm2=str_pad(date("m"strtotime("-1 month")), 2,"0",STR_PAD_LEFT);
$mm1=str_pad(date("m"), 2,"0",STR_PAD_LEFT);
$yy=str_pad(date("Y"), 4,"0",STR_PAD_LEFT);

if (empty(
$_GET['cam']))  {$cam=$imgcam;} else {$cam $_GET['cam'];}
if (empty(
$_GET['dt']))  $dt=date("d.m.Y"); else $dt $_GET['dt'];

/////////////////////////////////////////////НАСТРОЙКИ ПАПКИ ГДЕ ХРАНЯТЬСЯ ПАПКИ КАМЕР
$path "../ipcam/".$cam."/";
/////////////////////////////////////////////КОНЕЦ

//Calendar();
echo draw_calendar($mm2,$yy,null,$cam);
echo 
draw_calendar($mm1,$yy,null,$cam);
echo 
"<div></div>";
showdate($path,$dt);

?>


[Показать] Скрытый текст: Скриншот
Изображение


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт дек 07, 2017 10:26 pm 
Не в сети

Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Сообщения: 346
Благодарил (а): 23 раз.
Поблагодарили: 74 раз.
к webms
Что такое img_security.php?
Приведите, пожалуйста, полный путь и название ваших файлов.

У меня, к примеру, вот так:
D:\myftp\ipc\cam2\20171203\IMG001\IMG_chn0_TIMER_MNG_20171203233740_003.jpg


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Чт дек 07, 2017 11:09 pm 
Не в сети

Зарегистрирован: Чт дек 15, 2016 3:13 am
Сообщения: 56
Благодарил (а): 25 раз.
Поблагодарили: 16 раз.
xor писал(а):
Что такое img_security.php?

название файла куда я код выше вставил

xor писал(а):
У меня, к примеру, вот так:
D:/myftp/ipc/cam2/20171203/IMG001/IMG_chn0_TIMER_MNG_20171203233740_003.jpg


/////////////////////////////////////////////НАСТРОЙКИ ПАПКИ КАМЕРЫ
$imgcam = "IMG001";
/////////////////////////////////////////////КОНЕЦ

/////////////////////////////////////////////НАСТРОЙКИ ПАПКИ ГДЕ ХРАНЯТЬСЯ ПАПКИ КАМЕР
$path = "D:/myftp/ipc/cam2/20171203/".$cam."/";
/////////////////////////////////////////////КОНЕЦ


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт дек 08, 2017 6:22 pm 
Не в сети

Зарегистрирован: Чт дек 15, 2016 3:13 am
Сообщения: 56
Благодарил (а): 25 раз.
Поблагодарили: 16 раз.
подскажите пожалуйста, а то знаний в php не хватает
как сделать чтоб цифры в календаре были серыми если папка пустая?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 79 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB