if ($dh = opendir($dir))
{
// код, который у вас в вопросе
}
if (is_file($dir.$file)) {
// код из вопроса
}
else if(is_dir($dir.$file))
{
$zip->addEmptyDir($dir.$file);
// тут должен быть вызов рекурсивной функции, по которой вы передаете контекст $zip и $dir.$file (наверное, передача по ссылке)
}
function dele() {
let x = prompt("Какую");
let films = JSON.parse(localStorage.getItem("film")) || [];
films = films.filter(elem => elem !== x);
localStorage.setItem("film", JSON.stringify(films));
rend();
}
function add() {
let x = prompt("Название");
let films = JSON.parse(localStorage.getItem("film")) || [];
films.push(x);
localStorage.setItem("film", JSON.stringify(films));
rend();
}
const filmsArray = JSON.parse(localStorage.get('film'))
const removeIndex = filmsArray.findIndex(item => item.title === 'название фильма')
filmsArray.splice(removeIndex, 1)
localStorage.set('film', filmsArray)
if
исполняется только содержимое блока if.add_header
.try_files
не наследуется и исполняется только когда уловие if
ложно.location
.if
в контексте server
таких проблем нет.if
на уровень server
и всё заработает как ожидалось.server {
set $avif_image_path "";
if ($http_accept ~* "image/avif") {
set $avif_image_path "$uri.avif";
}
set $webp_image_path "";
if ($http_accept ~* "image/webp") {
set $webp_image_path "$uri.webp";
}
location ~* \.(png|jpe?g|gif)$ {
add_header Vary Accept;
try_files $avif_image_path $webp_image_path $uri =404;
}
if
и переписать на map
. git config pull.rebase false # merge
git pull --rebase
if(typeof list[elem] == 'object') {
console.log(list.value);
reverseNext(list[elem])
}
if(typeof list[elem] == 'object') {
reverseNext(list[elem])
} else {
console.log(list.value)
}
зачем нужны конструкторы если можно пользоваться функциями и реализовать тот или иной код с помощью функции без надобности вызова его через new
new Foo()
- это просто всем понятная абстракция, говорящая "эта инструкция создаст объект такого-то класса и выполнит все необходимые инструкции для инициализации объекта". Думаю, мысль вполне ясна и детального объяснения не требует? - return item[index] >= 25
+ return item[1] >= 25 && item[2] === true
<?php
function formatList(array $list): string
{
$result = '';
foreach ($list as $key => $value) {
if (!is_array($value)) {
$result .= "<li>{$key} => {$value}</li>";
continue;
}
$result .= "<li>{$key} =></li>";
foreach ($value as $item) {
$result .= formatList($item);
}
}
if ((debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2)[1]['function'] ?? '') !== 'formatList') {
$result = "<ul>{$result}</ul>";
}
return $result;
}
print formatList($arr);
<ul><li>id => 1</li><li>name => item1</li><li>items =></li><li>id => 2</li><li>name => item2</li><li>items =></li><li>id => 3</li><li>name => item3</li><li>items =></li><li>id => 4</li><li>name => item4</li><li>items =></li><li>id => 5</li><li>name => item5</li><li>items =></li><li>id => 6</li><li>name => item6</li><li>items =></li></ul>