'php://filter/read=convert.base64-decode|zlib.inflate/resource='.$sourceFile
При всех выгодах данный метод уничтожения стопперов не может быть универсальным. В 2009 году было замечено, что функция base64_decode некорректно обрабатывает строки, содержащие в середине знаки равенства [#47174]. Этот баг был довольно оперативно исправлен для функции base64_decode, но для фильтра convert.base64-decode никаких исправлений сделано не было. Поэтому, если при «выдавливании» на каком-то шаге получаются данные, содержащие знак равенства, дальнейшее применение фильтра convert.base64-decode уничтожит преобразуемую строку.
$s = 'php://filter/read=convert.base64-decode/resource=data:,dGVzdA==CRAP'; var_dump(file_get_contents($s)); // print: string(0) ""
htdocs/TmpGif/tr_87754306592959_133380.gif
while ($news = $NewsQuery->fetch())
{
$lastNewsList .= loadTpl("/last_news/news.html",
[
"created_at" => $news['created_at'],
"title" => $news['title'],
"content" => $news['content']
]);
}
while ($news = $NewsQuery->fetch())
{
$lastNewsList .= loadTpl("/last_news/news.html", $news);
}
$pageData['lastNews'] = loadTpl("/last_news/parent.html", $data);
UPDATE dle_users
SET user_balance = user_balance + round(user_balance / 100.0, 2)
UPDATE dle_users
SET user_balance = user_balance + ceil(user_balance / 100.0 * 100) / 100.0
^ ^
корректировка ceil по 2 знакам после запятой
// Запрос к БД, получающий ресурсы для формирования файла
// Заголовком сообщаем имя файла клиенту
// Формируем / получаем тело файла
echo /*отдаем переменную с телом файла*/;
// Запрос к БД на время обновления ресурсов из чего собирать файл
// Получаем время изменения файла в каталоге files
// Если файл не старее чем сведения в БД то формируем тело из него.
// Если файл старее чем сведения в БД на установленную константу времени жизни кэша, то получаем новое тело файла и обновляем файл кэша.
// Заголовком сообщаем имя файла клиенту
echo /*отдаем переменную с телом файла*/;
Try this. Check /etc/php7/
Rename 20_mysqli.ini to 30_mysqli.ini, or delete 20_mysqli.ini if both exist. If you also have 20_openssl.ini there, rename that to 10_openssl.ini.
Above change is needed to load the modules in the correct order.
This should now be fixed in the latest builds, but you could be running older code, or suffering from the bug that was there earlier.
while(true)
{
$f = readdir($d);
if($f === fasle)
{ break; }
// Сделать что-то с $f в противном случае.
}
$car = $_POST['user_car'];
$car = array_key_exists('user_car', $_POST) ? $_POST['user_car'] : null;
$mail->Body = '' .$name . ' хочет перегнать машину ' .$car. ' из ' .$from. ' в ' .$to. '. <br> Вот его номер телефона ' .$phone;
$mail->Body = $name . ' хочет перегнать '.(is_null($car) ? 'неуточненную машину' : 'машину ' .$car). ' из ' .$from. ' в ' .$to. '. <br> Вот его номер телефона ' .$phone;
$name = htmlspecialchars($_POST['user_name']);
$phone = htmlspecialchars($_POST['user_phone']);
$car = array_key_exists('user_car', $_POST) ? htmlspecialchars($_POST['user_car']) : null;
$from = htmlspecialchars($_POST['from']);
$to = htmlspecialchars($_POST['to']);
$description1[] = array([..................])
$p = $imgwidth * 1.0 / $imgheight; // пропорция; умножение на 1.0 чтобы перевести число в float;
$delta_q = 0.1; // Дельта ощущения "квадратности" изображения
switch(true)
{
case $p > (1.0 + $delta_q): echo 'альбомный формат изображения'; break;
case $p < (1.0 - $delta_q): echo 'книжный формат изображения'; break;
default: echo 'изображение, вероятно, квадратное';
}
header('Content-type: text/html; charset=utf8');
echo file_get_contents('http://antiko22.info/vse_novosti/dolg-pered-mfo-ne-mozhet-prevyshat-telo-zajma-bolee-chem-v-3-raza/');
$out_arr = array();
while($hero2 = mysqli_fetch_assoc($hero1))
{
$time_now = strtotime($hero2['cron1']);
$time_need = strtotime($hero2['cron2']);
if($time_need>=$time_now ){
$t_s= date("H:i ",75600-($time_need-$time_now));
}
else
$t_s= date("H:i ",75600-($time_now-$time_need));
$out_arr[] = str_replace(":",".",$t_s);
}
echo "[".join(' ,', $out_arr).']';
$result = str_replace(array('amp;', '&', 'quot;'), '', 'Ремень HENDERSON &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot; "2 в 1&am');
<?
$input_arr = [
"/home/fol1/test.txt",
"/home/fol1/Browsers/test2.txt",
"/home/fol2/Browsers/test3.txt",
"/home/fol2/Browsers/ttre/test2.txt"
];
$out_arr = [];
foreach($input_arr as $item)
{
$folders = explode('/', $item);
$key = $folders[2];
if(!isset($out_arr[$key]) || !array_key_exists($item, $out_arr[$key])) // если еще не был такой путь
$out_arr[$key][] = $item;
}
print_r($out_arr);
?>
....
$send_result = mail($admin_email, adopt($form_subject), $message, $headers );
echo $send_result ? 'success' : 'fail';
...
).done(function(e)
{
var resp = e.responseText;
alert(resp === 'success' ? 'Сообщение отправлено!' : 'Ошибка отправки сообщения');
....
}
$.ajax({
type: "POST",
url: "../js/mail.php", //Change
data: th.serialize()
}).done(function(e) {
.......
}).fail(function()
{
alert('Фатальная ошибка отправки!');
});
DELETE FROM videos WHERE id = ?
$ids = R::getAssoc('SELECT id FROM videos');
$videos = R::find( 'videos', 'id = ?', $ids );
Обработчик селекта js который и меняет блоки с помощью display:none, display:block.
/*
Функция вкл и выкл полей формы в различных контейнерах
@param str enable_id - id-контейнера, в котором нужно вкл. поля ввода
@param arr disable_ids - массив id контейнеров, в которых нужно выкл. поля ввода
*/
function fields_enable_and_disable(enable_id, disable_ids)
{
var enable_container = document.getElementById(enable_id); // получаем контейнер, в котором нужно "включить" поля ввода
var field_types = ['input', 'select', 'textarea']; // все виды полей ввода с которыми нужно проделать манипуляцию вкл/выкл.
var count_i = field_types.length; // кол-во типов полей
for(var i = 0; i < count_i; i++) // перебираем типы полей
{
var field_type = field_types[i]; // текущий тип поля
var enable_fields = enable_container.getElementsByTagName(field_type); // получаем коллекцию полей ввода, которые нужно вкл.
var count_j = enable_fields.length; // кол-во полей текущего типа
for(var j = 0; j < count_j; j++) // перебираем поля этого типа
enable_fields[j].disabled = false; // включаем
var count_k = disable_ids.length; // кол-во контейнеров, в которых нужно выкл. поля
for(k = 0; k < count_k; k++) // перебираем неактивные контейнеры
{
var disable_id = disable_ids[k]; // id - текущего неактивного контейнера
var disable_container = document.getElementById(disable_id); // получаем неактивный контейнер
var disable_fields = disable_container.getElementsByTagName(field_type); // получаем поля текущего типа неактивного контейнера
var count_n = disable_fields.length; // кол-во этих полей по текущ. типу
for(var n = 0; l < count_n; n++)
disable_fields[n].disabled = true; // выкл. эти поля
}
}
}