А как бы вы написали такой скрипт, в общих чертах?
function countdown(dateStr, display) {
let targetDate = new Date(dateStr).getTime()
let timer = setInterval(function() {
let now = new Date().getTime(),
diff = targetDate - now;
let hours = Math.floor((diff % 86400000) / 3600000),
minutes = Math.floor((diff % 3600000) / 60000),
seconds = Math.floor((diff % 60000) / 1000);
document.body.innerHTML = `${hours}:${minutes}:${seconds}`
})
}
countdown('2033-02-10 00:00:00')
https://jsfiddle.net/7uhexr41/var symbols = [...document.querySelectorAll('.symbol .cur')]
function show(h, m, s) {
var timeString =
h.toString().padStart(2, '0') +
m.toString().padStart(2, '0') +
s.toString().padStart(2, '0');
symbols.forEach((symbol, i) => symbol.textContent = timeString[i])
}
https://jsfiddle.net/4hnxrrrt/function animate(curSymbol, newValue) {
let currentValue = curSymbol.textContent
if (currentValue !== newValue) { // animated change
let parent = curSymbol.parentNode
parent.classList.remove('anim')
curSymbol.textContent = newValue
curSymbol.nextElementSibling.textContent = currentValue
var foo = parent.offsetWidth; // reflow hack
parent.classList.add('anim')
}
}
let aaa = [1,2,3]
let bbb = [...aaa ] // не обязательно через spread, можно чем угодно, что делает копию. slice, например.
bbb.push(4)
console.log(aaa) // [1,2,3]
console.log(bbb) // [1,2,3,4]
https://jsfiddle.net/s716xeq9/ php --help
или посмотрите инструкцию на сайте.-f <file> Parse and execute <file>.
-q --no-header Тихий режим. Подавляет вывод заголовков HTTP (только для CGI).
Объекты Set позволяют вам сохранять уникальные значения любого типа, как примитивы, так и другие типы объектов.
Синтаксисnew Set([iterable]);
setTimeout(function(){
console.log('уф, дождались!')
}, 63072000)
<?php
$badname = "#U0411#U0430#U043b#U0430#U043d#U0441_#U043d#U0430_01012017.pdf";
$converted = preg_replace('/#U([0-9a-f]{1,4})/', '&#x${1};', $badname);
echo preg_replace_callback('/&#([0-9a-fx]+);/mi', 'replace_num_entity', $converted);
function replace_num_entity($ord)
{
$ord = $ord[1];
if (preg_match('/^x([0-9a-f]+)$/i', $ord, $match))
{
$ord = hexdec($match[1]);
}
else
{
$ord = intval($ord);
}
$no_bytes = 0;
$byte = array();
if ($ord < 128)
{
return chr($ord);
}
elseif ($ord < 2048)
{
$no_bytes = 2;
}
elseif ($ord < 65536)
{
$no_bytes = 3;
}
elseif ($ord < 1114112)
{
$no_bytes = 4;
}
else
{
return;
}
switch($no_bytes)
{
case 2:
{
$prefix = array(31, 192);
break;
}
case 3:
{
$prefix = array(15, 224);
break;
}
case 4:
{
$prefix = array(7, 240);
}
}
for ($i = 0; $i < $no_bytes; $i++)
{
$byte[$no_bytes - $i - 1] = (($ord & (63 * pow(2, 6 * $i))) / pow(2, 6 * $i)) & 63 | 128;
}
$byte[0] = ($byte[0] & $prefix[0]) | $prefix[1];
$ret = '';
for ($i = 0; $i < $no_bytes; $i++)
{
$ret .= chr($byte[$i]);
}
return $ret;
}
<php?
if (!empty($_POST['txt'])) {
// здесь проверки, сохранение, вот это всё
}
,,,