'0012300' // строка
12300 // число
'0012300' + 1 = 12301
sprintf("%07d", '0012300' + 1) // '0012301'
str_pad('0012300' + 1, 7, '0', STR_PAD_LEFT) // '0012301'
$len = strlen('0012300')
sprintf("%0".$len."d", '0012300' + 1) // '0012301'
str_pad('0012300' + 1, $len, '0', STR_PAD_LEFT) // '0012301'
const allMenus = document.querySelectorAll('.hasChildren');
function hideOtherMenus(current){
allMenus.filter(menu => menu != current).forEach(menu => {
menu.classList.remove('open');
menu.querySelector('.subMenu').classList.remove('active');
});
}
allMenus.forEach(menu => {
menu.addEventListener('click', e => {
hideOtherMenu(e.target);
e.target.classList.toggle('open');
e.target.querySelector('.subMenu').classList.toggle('active');
})
})
<?php
и короткую для замены echo <?=
.Files MUST use only <?php and <?= tags.
MUST Это слово или термины "REQUIRED" или "SHALL" означают, что определение является абсолютным требованием спецификации
$SELECTION$
+:root {
+ --header-height: 56px;
+}
html, body {
height: 100%;
}
#workspace {
display: flex;
min-height: 100%;
}
.content {
display: flex;
flex: 1 1 auto;
}
#header, #footer {
display: flex;
- height: 56px;
+ height: var(--header-height);
}
#stretch-box {
display: flex;
flex: 1 1 auto;
}
#left-box {
min-width: 300px;
}
#right-box {
display: flex;
align-items: flex-start;
flex: 1 1 auto;
flex-flow: row wrap;
//height: 100vh;
+ height: calc(100vh - var(--header-height) * 2);
overflow: auto;
justify-content: space-evenly;
}
local
маппится на /storage/app
, а public
на /storage/app/public
./storage/app/public
в свою очередь линкуется в /public/storage
public
доступен из интернета. диск local
– нет.local
загрузите файл по пути 'piblic/image.png'
то он также будет доступен по адресу site.com/storage/image.png
<form name="form1" method="post" action="/save/1"></form>
<form name="form2" method="post" action="/save/2"></form>
<form name="form3" method="post" action="/save/3"></form>
<table>
<tbody>
<tr>
<td><input type="text" name="param1" form="form1"></td>
<td><input type="text" name="param2" form="form1"></td>
<tr>
<tr><td><button type="submit" form="form1">Send</button></td><tr>
</tbody>
<tbody>
<tr>
<td><input type="text" name="param1" form="form2"></td>
<td><input type="text" name="param2" form="form2"></td>
<tr>
<tr><td><button type="submit" form="form2">Send</button></td><tr>
</tbody>
<tbody>
<tr>
<td><input type="text" name="param1" form="form3"></td>
<td><input type="text" name="param2" form="form3"></td>
<tr>
<tr><td><button type="submit" form="form3">Send</button></td><tr>
<table>
<form method="post" action="/save">
<table>
<tr>
<td><input type="text" name="data[ОУР][param1]"></td>
<td><input type="text" name="data[ОУР][param2]"></td>
<tr>
<tr>
<td><input type="text" name="data[ОЭБ][param1]"></td>
<td><input type="text" name="data[ОЭБ][param1]"></td>
<tr>
<tr>
<td><input type="text" name="data[ОНК][param1]"></td>
<td><input type="text" name="data[ОНК][param1]"></td>
<tr>
<tr><td><button type="submit">Send</button></td><tr>
</tbody>
<table>
</form>
const arrObjects = [
{name:'Irina', skills: ['js', 'html', 'css']},
{name:'Ruslan', skills: ['nodeJs', 'html', 'css']},
{name:'Kate', skills: ['react', 'js', 'css']},
{name:'Dmitry', skills: ['hh', 'html', 'css']},
{name:'Serg', skills: ['angular', 'mobX', 'js']},
];
const result = arrObjects.filter(person => person.skills.includes('js'));
console.log(result);
<div class="row">
<div class="col-lg">контент <button id=menuToggle>Скрыть меню</button></div>
<div class="col-lg-4" id=menu>меню </div>
</div>
<script>
document.getElementById('menuToggle').addEventListener('click', ()
=> document.getElementById('menu').classList.toggle('d-none'));
</script>