такая же картинка
домен под Дубаи.за неделю до падения добавил арабский язык.делал всё корректно.... не нашёл причины падения
Привет!
почему компания Яндекс не создает сервис подобный CloudFlare с бесплатным тарифом...
Этот тот самый случай, когда "вы не понимаете, это другое". когда моя фотография показывается яндексом со ссылкой на мой сайт, то я от этого получаю некую пользу. и здесь прослеживается взаимовыгодное сотрудничество между мной и яндексом. поэтому с учётом того, что Яндекс - это поисковая система, то нарушения тут нет. а вот когда моя фотография показывается на чужом сайте без ссылок на мой сайт и уж тем более без указания имени автора, то никакой пользы это мне не приносит. а это несправедливо и наказывается по закону.
А ещё очень удобно, что в яндексе показывается, кто то может взять с яндекса себе и на него в суд подать можно, а как иначе денег заработать, на ни кому за деньги не нужных фотографиях.
Если у вас есть фотография, на которые у вас есть "авторские права" - поставьте на нее вотемарку и повесьте на стену, а не сливайте ее в интернет в надежде, что она кому-то будет нужна.
Степан, тебе никто ничего доказывать не собирается. Женись на Алисе (пользуй ее), и может, тогда она тебе скажет, что необязательно спамить кодами во всю длину на форумах.
Ну и успокойся тогда Макар. Твоё ничем не обоснованное мнение не интересно.
А теперь запусти свой тетрис ( никому не нужный) по "ее коду". Скрины начала работ, середины и конца скинешь сюда, посмотрим.
Что ты мне доказать пытаешься?
Алиса не плохо справляется с кодом, я её использую и вполне доволен.
Вот код который написан мной никуда не смотрел писал сам, переменные специально одной буквой обозначил, что бы ИИ не могли по названию угадать.
что делает этот кодfunction pager(int $P, int $C, int $N = 2, bool $E = true){ if($C<=2*$N+3) $result = range(1, $C); elseif($P-$N>2 && $P+$N<$C-1) $result = array_merge([1, null], range($P-$N, $P+$N), [null, $C]); elseif($P-$N>2) $result = array_merge([1, null], range($C-(2*$N+1), $C)); elseif($P+$N<$C-1) $result = array_merge(range(1, 1+(2*$N+1)), [null, $C]); if (!$E) { $L = count($result)-1; if ($result[$L-1]===null && $result[$L]-$result[$L-2]==2) $result[$L-1] = $result[$L]-1; if ($result[1]===null && $result[2]-$result[0]==2) $result[1] = $result[2]-1; } return $result;}
ответ алисы
Этот код реализует функцию пагинации (разбиения на страницы) — формирует массив номеров страниц для постраничного вывода с учётом текущего положения и настроек отображения.Параметры функции$P (int) — номер текущей страницы (позиция пользователя);$C (int) — общее количество страниц (capacity);$N (int, по умолчанию 2) — количество соседних страниц вокруг текущей, которые нужно показать;$E (bool, по умолчанию true) — флаг, управляющий коррекцией «дыр» (null‑элементов) в последовательности.Логика работы1. Базовый случай: мало страницЕсли страниц немного (C≤2N+3), возвращаем полный список от 1 до C:phpif ($C <= 2*$N + 3) $result = range(1, $C);Пример: при N=2, C=7 → 2⋅2+3=7, значит, выведем [1,2,3,4,5,6,7].2. Средний случай: текущая страница вдали от краёвЕсли текущая страница P находится достаточно далеко от начала и конца (P−N>2 и P+N<C−1), показываем:первую страницу (1);«дыру» (null) — обозначение пропущенных страниц;диапазон [P−N,P+N] (текущая ±N страниц);ещё одну «дыру» (null);последнюю страницу (C).phpelseif ($P-$N > 2 && $P+$N < $C-1) $result = array_merge([1, null], range($P-$N, $P+$N), [null, $C]);Пример: P=10, C=20, N=2 → [1, null, 8,9,10,11,12, null, 20].3. Близко к концуЕсли P−N>2, но P+N≥C−1 (страница близка к концу), показываем:первую страницу (1);«дыру» (null);последние 2N+2 страницы.phpelseif ($P-$N > 2) $result = array_merge([1, null], range($C-(2*$N+1), $C));Пример: P=18, C=20, N=2 → [1, null, 15,16,17,18,19,20].4. Близко к началуЕсли P+N<C−1, но P−N≤2 (страница близка к началу), показываем:первые 2N+2 страницы;«дыру» (null);последнюю страницу (C).phpelseif ($P+$N < $C-1) $result = array_merge(range(1, 1+(2*$N+1)), [null, $C]);Пример: P=3, C=20, N=2 → [1,2,3,4,5,6, null, 20].5. Коррекция «дыр» (если $E = false)Если флаг $E выключен, функция пытается «заполнить» null-элементы, если между соседними числами разрыв всего в 1:Для последнего null: если предпоследний элемент null, а разница между последним и предпредпоследним равна 2, заменяем null на число между ними.Для первого null: аналогично, если второй элемент null и разница между третьим и первым равна 2, заменяем null на среднее.phpif (!$E) { $L = count($result)-1; if ($result[$L-1] === null && $result[$L] - $result[$L-2] == 2) $result[$L-1] = $result[$L] - 1; if ($result[1] === null && $result[2] - $result[0] == 2) $result[1] = $result[2] - 1;}Пример: [1, null, 3, ..., 19, null, 21] → [1, 2, 3, ..., 19, 20, 21].ИтогФункция возвращает массив номеров страниц для отображения в интерфейсе пагинации, например:[1, null, 8,9,10,11,12, null, 20] — с «дырами» для пропуска дальних страниц;[1,2,3,4,5,6, null, 20] — когда текущая близко к началу;[1, null, 15,16,17,18,19,20] — когда текущая близко к концу.Такой подход экономит место и улучшает UX, показывая только релевантные номера страниц.
Ответ дипсик
Функция возвращает массив чисел (и null в качестве разделителя), который показывает, какие кнопки страниц отображать, чтобы пагинатор не был слишком длинным.Параметры:$P — текущая страница (Page)$C — общее количество страниц (Count)$N — сколько страниц показывать слева и справа от текущей (по умолчанию 2)$E — разрешать "дырки" с двух сторон (Ellipsis), по умолчанию trueЛогика работы:Случай 1: Если страниц немного ($C <= 2*$N+3)Просто показываем все страницы от 1 до $CПример ($C=5, $N=2): [1, 2, 3, 4, 5]Случай 2: Если текущая страница где-то в середине (отделена с двух сторон)Показываем: 1, дырка (null), несколько страниц вокруг текущей, дырка, последняя страницаПример ($C=100, $P=50, $N=2): [1, null, 48, 49, 50, 51, 52, null, 100]Случай 3: Если текущая страница близко к началуПоказываем: первые страницы, дырка, последняя страницаПример ($C=100, $P=3, $N=2): [1, 2, 3, 4, 5, null, 100]Случай 4: Если текущая страница близко к концуПоказываем: первая страница, дырка, последние страницыПример ($C=100, $P=97, $N=2): [1, null, 96, 97, 98, 99, 100]Особенность с параметром $E = false:Если $E = false, функция "заполняет дырки", когда рядом с ними должны быть последовательные числа.Пример работы $E = false:Было бы: [1, null, 48, 49, 50, 51, 52, null, 100]Но если дырка рядом с последовательными числами (например [1, null, 3, 4, 5]), то null заменяется на 2Результат: [1, 2, 3, 4, 5] (дырка исчезает)
Ответ чатжпт
Это PHP-функция для построения пагинации (списка номеров страниц с «…»), обычно для вывода вида:1 … 4 5 6 … 20Разберём по шагам.Сигнатура функцииpublic function pager(int $P, int $C, int $N = 2, bool $E = true)Параметры:$P — текущая страница (Page)$C — общее количество страниц (Count)$N — сколько страниц показывать слева и справа от текущей (Neighbors), по умолчанию 2$E — показывать ли «разрывы» (null → обычно рисуют как ...), по умолчанию trueЧто возвращаетФункция возвращает массив номеров страниц, где:числа — реальные страницыnull — пропуск (обычно отображается как ...)Основная логика1️⃣ Если страниц мало — показываем всеif ($C <= 2*$N + 3) $result = range(1, $C);📌 Например:C = 7 → [1,2,3,4,5,6,7]2️⃣ Текущая страница где-то в серединеelseif ($P-$N > 2 && $P+$N < $C-1)📌 Результат:[1, null, P-N ... P+N, null, C]Пример:pager(5, 10)Результат:[1, null, 3, 4, 5, 6, 7, null, 10]3️⃣ Ближе к концуelseif ($P-$N > 2)📌 Показывает последние страницы:[1, null, C-(2N+1) ... C]Пример:[1, null, 6, 7, 8, 9, 10]4️⃣ Ближе к началуelseif ($P+$N < $C-1)📌 Показывает первые страницы:[1, 2, 3, 4, 5, null, C]Логика $E = falseЕсли $E === false, функция убирает null, когда пропуск равен всего одной странице.Например:[1, null, 3]превратится в:[1, 2, 3]Чтобы не показывать ..., если можно показать число.
Хуже всех справился чатжпт и допустил ошибки, дипсик получше но тоже с ошибками.
Алиса одна справилась без ошибок и все понятно объяснила.
Так что сначала сам попользуйся алисой, а потом мнение свое объективное высказывай, а так это не мнение а фантазии.