Задать вопрос
  • Как сделать также фото с текстом по центру?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    align-items: center;
    Ответ написан
    Комментировать
  • Как можно оптимизировать генерацию и загрузку боьшого html?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вопросы такие: какие есть способы ускорить загрузку страницы?
    Во первых - выяснить что тормозит: бэкенд или фронтенд. Сделать профайлинг бэкенда, сделать анализ загрузки фронта. Соответственно сначала понять что тормозит.

    Можно ли её рендерить на клиенте при помощи js?
    Можно, но скорее всего прироста вы особо не получите. Если проблема на бэкенде - метод рендера будет абсолютно по барабану. Если на форнте - скорее всего будет медленнее, так как вы сначала получите все данные, а потом еще будете средствами языка (а не движка браузера, который очевидно быстрее) отрисовывать хтмл.

    И почему на смартфоне в мобильном safari та же самая страница грузится за пару секунд?
    Опять же, вопрос скорее к вам чем к кому-либо еще. Возможно кеширование, которое на мобильных браузерах практически всегда более агрессивное. Возможно вы просто не видите как тормозит загрузка, например в силу другого метода рендеринга, который сразу при получении данных выводит все что возможно, в то время как на стационаре рендеринг идет только после загрузки тега целиком. Достаточно например быстро промотать на сафари вниз при загрузке, чтобы увидеть что загрузилось далеко не все... А возможно в мобильной версии отображается сильно меньше элементов...

    Можно ли этот эффект повторить на десктопе?
    Если есть что повторять... Можно попробовать сделать таблицу не цельной, а разбить на несколько таблиц, по 100-300 строк. Или еще адкеватнее - сверстать дивами.

    Как вариант - лэзилоад, по мере прокруки страницы подгружать новые данные по мере необходимости, что сильно снизит как трафик в целом, так и тормоза рендера.

    PS:
    я тоже склоняюсь к неэффективной вёрстке. Если я эту вёрстку буду генерировать js’ом, процесс ускорится?
    Скорее всего, как я уже написал, скорости не прибавится. Вообще что мешает проверить эффективность верстки? Тупо выведите все строки дивами, без всяких разделителей, одна строка - один див с данными, разделенными "|" например, и посмотрите на разницу.
    Ответ написан
    Комментировать
  • Как мне настроить .htaccess?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    добавить файлы статики в исключения. Хотя по идее у вас и так перенаправляться будут только отсутствующие файлы и папки...
    RewriteCond %{REQUEST_URI} !\.(css|jpg|gif|png|zip|rar|doc|xls|js|tif|tiff|docx|xlsx|ico)$
    RewriteRule ^(.*)$ index.php [L,QSA]
    Ответ написан
    3 комментария
  • Можно ли делать запрос к промежуточной таблице многие-ко-многим для извлечения конкретной информации?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Можем ли мы сделать запрос к БД и извлечь из промежуточной таблицы (book_author) информацию по конкретной книге?
    Из "промежуточной" можно извлечь только связи, она для этого и нужна.

    Т.е. у нас для работы есть только информация о книге и теперь нужно извлечь информацию о её авторе (авторах).
    В чем вопрос? Как сделать джоин с 3 таблицами? Так же как с двумя, только с тремя.

    Приемлемо ли вообще делать такие запросы к промежуточным таблицам?
    Какие - "такие"? У вас вообще ни одного запроса не написано.
    Ответ написан
    7 комментариев
  • Есть ли библиотека OpenGL для PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Короткий ответ - нет.
    Так-то создать что-то подобное под пых особо не сложно, ну, если есть соответствующие знания и исходники на сях. Чуток правок, компилим в либу пхп, подключаем. Но смысла особо не вижу, проще запустить какую-то готовую утилиту из cli, как например при работе с ffmpeg.
    Ответ написан
    1 комментарий
  • Как ускорить процесс загрузки файлов в PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Скорость канала на сервере — 200 Мбит/с
    Вангую что это скорость на выход, на вход будет совершенно другая скорость, не указанная в рекламном буклете, или написанная где-то под звездочкой оооочень мелким шрифтом.
    Есть вероятность что в вебсервере стоит ограничение на скорость загрузки на клиента, но это можно выяснить и через просмотр конфигов, если таковые доступны.

    Что делать?
    1) Пнуть провайдера и спросить про скорость аплоуда.
    2) Если молчат - проверить самостоятельно, например замерить скорость загрузки файла курлом.
    3) Проверить загрузку через фтп/сфтп
    4) Много думать, ругаться с провайдером
    5) Профит
    Ответ написан
    Комментировать
  • Как вызвать страницу другого сайта и выполнить на ней действие?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Коротко: Боты не используют браузер (в привычном понимании), так что идея дебиль...глупая.

    Развернутый ответ включил бы в себя курс по веб разработке и базам теории работы с хттп, основам взаимодействия клиента с сервером и понятие межсерверных скриптов. Так что как-нибудь сам...
    Ответ написан
    Комментировать
  • Какой стек технологий выбрать для разработки веб-приложения по учету успеваемости студентов?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    • регистрация/авторизация пользователей;
    • добавление/удаление записей;
    • формирование отчета в формате docx.
    практически все что перечислено в качестве инструментов - хватает или избыточно.

    1) Нужна ли асинхронность, исходя из функций приложения?
    Нет, тем более для подхода через REST API.

    2) Что лучше выбрать из перечисленного стека, если необходимо представить приложение в короткие сроки?
    Как самый простой вариант смотрится лара + 4 готовых модуля, 2 из которых вроде даже идут из коробки, остальные добиваются 1 командой композер инсталл %пакетнейм%.

    3) Исходя из функций приложения, это будет SPA (одностраничное приложение) или PWA (многостраничное приложение)?
    Это не противопоставление, это вообще не взаимосопоставимые технологии. PWA может быть SPA, может не быть... PWA это вообще не про "многостраничность".

    Остальное не скажу, так как не в теме.
    Ответ написан
  • CPU загружается на 100% из за запросов mysql. Как отразить ddos?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    1) fail2ban
    2) Временно повесить заглушку "на сайте идут технические работы, все пучком"
    3) Ждите, через некоторое время ботнет целиком поместиться в банлист и нагрузка упадет

    Про адекватные решения по типу подключить Cloudflare вы скорее всего и сами знаете.
    Ответ написан
    2 комментария
  • Где искать верстальщиков и бекендеров?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    не справился, пропал, дико задержал
    По тому что чисто версткой заниматься могут только от безнадеги полные неумехи/новички, или в другой крайней ипостаси - работники постигшие этот мир и им этот мир абсолютно понятен, и они здесь ищу только одного - огромных денег за свое бесконечно-вечное. С бэкендерами тоже сложно, на вольных хлебах это редкий зверь, а на фрилансе он пасется только с условием, что капуста за разовый напряг будет крупнее кочана на постоянном месте работы, ибо нафига тогда париться.

    Короче, на фрилансе и прочих вольных пастбищах чаще всего пасутся 2 типа: Индусы по доллару за пучёк, и профи (скорее всего тоже индусы, но постигшие мудрость Шивы), работающие за ценник сильно выше часовой оплаты на ставке.
    Ответ написан
    Комментировать
  • Как заменить переменные внутри класса через перезапись файла?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    В виду того что видимо на почве работы с битриксом у ТС появились серьезные проблемы со здравым смыслом - минутка готовых решений:
    <?php
    class config {
    	public $start_time = '1670000999';
    	public $email = 'support@domain.zone'; 
    	public $adm_dir = 'FolderAdm'; 
    	public $adm_name = 'Admin'; 
    	public $adm_pass = '00000000'; 
      }
    $configFile = './core/cfg_test.php'; //доступность файла оставим на совести автора вопроса
    $cfg = new config();?>
    <form method="post">
    <?php 
    foreach ($cfg as $key=>$value) {?>
    	<input name="<?=$key?>" value="<?=$value?>">
    <?php }?>
    <button type="submit">do marasm</button>
    </form>
    <?php
    if($_SERVER['REQUEST_METHOD']=="POST"){
    	$new_cfg = (Object)$_POST;
            file_put_contents($configFile, var_export($new_cfg,1));
    }
    ?>
    Ответ написан
    Комментировать
  • Как не показывать пустые массивы?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    1) сделайте нормальные имена полям, что за rid, rname, ryavka, тут с большой буквы, там с маленькой... кроме того что половина полей транслитерацией кривой, так еще и префикс зачем то присобачили... С переменными та же фигня.
    2) База должна соответствовать 3 нормальной форме, соответственно 2 значения в поле вашей рявки быть не должно, это должны быть 2 отдельных поля (или вообще внешняя таблица, если там много значений предполагается).
    3) Соответственно в запросе нужно будет дать дополнительное условие по наличию второго поля, тогда ответ будет такой как надо.
    4) В вашем случае предполагаю что ответ вообще не приходит, или приходит пустой, так как при запросе из пустого результата в первой же итерации цикла все упадет как раз с описанной ошибкой.
    Ответ написан
    5 комментариев
  • Почему не записываются данные в MySQL базу данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Во первых - код, согласно правилам ресурса, должен быть представлен блоком кода, а не шакальным видео.
    Во вторых - перед всем вашим кодом добавляете
    ini_set('display_errors',1);
    error_reporting(E_ALL);
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    что позволяет вам (пострчно):
    1) отображать ошибки и предупреждения
    2) отлавливать ошибки и предупреждения
    3) выдавать ошибки запроса в бд через ошибки пхп

    Так как разбирать зашакаленный код нет никакого желания, советую вывести запрос в виде текста через ечо или вар_дамп и вставить в пхпмайадмин, хотя и так с включением отладки все станет понятно.
    Ответ написан
    Комментировать
  • Как реализовать функцию статистики просмотра страницы за некий период?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Важно, что бы это была статистика за день/месяц/год/всё время.
    Первое что нужно - определитесь с минимальной статистической единицей, если это день - значит храните сумму за день, табличка соответственно будет что-то типа:
    id, page_id, date, views;
    Соответственно если нужен меньший таймфрейм - дата будет уже дататайм. Далее простой джоин, груп с аггрегацией и sum()
    Ответ написан
    9 комментариев
  • Как узнать width и height видеофайла при загрузке на сервер?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ffmpeg
    Ответ написан
    Комментировать
  • Как вернуть NULL если ничего не найдено в SQL?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    А есть какая-то адекватная причина, по которой вам требуется получать такой странный результат?
    Ответ написан
    Комментировать
  • Как лучше хранить много изображений для веб-приложения?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Хранение файлов в бд - самый хреновый вариант из имеющихся. По многим причинам, но основная - файлы должны лежать в файловой системе. Это их естественное состояние. Это быстро, не затратно, не потребляет лишнюю память/процессор и просто удобно. В зависимости от необходимости давать к ним доступ всем или по авторизации, будет либо работа напрямую с статикой через какой-нить нжинкс, либо программно сформированный поток байт через что-то типа пхпшного readfile...

    В зависимости от возможностей хостинга, файлы хранят либо локально(в случае например собственного выделенного сервера и наличия райд стойки), либо, как уже написали, в облачных хранилищах, что чаще всего достаточно выгодно в плане денег за объем/трафик, плюс расширение хранилища будет просто отражаться на счете за услуги, а не ложиться ответственностью на вас как владельца сгоревших винтов с данными клиента. АПИ у всех весьма несложные, а драйвера для работы с удаленными файлохранилищами есть практически для всех популярных движков в виде готовых пакетов.
    Ответ написан
    3 комментария
  • Как исправить пустые строки в БД при добавление кириллицы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Понял что это связанно с htmlspecialchars, но как победить его так и не понял.
    Во первых - зачем? В смысле какова цель вашей загадочной функции? Почистить строку? Обычно это делается при выводе, а не при записи. Подготовить для вставки в бд? Для этого есть встроенные функции, но и они тут лишние, почему - читай ниже.

    Во вторых - научитесь отладке. Если вы не знаете в чем вообще проблема, стоит посмотреть что и на каком этапе пошло не так, для этого в самом примитивном виде нужно использовать var_dump/print_r, ну или инструменты по типу xdebug.

    И в третьих, или скорее даже в нулевых - все работы с запросами нужно вести через подготовленные выражения, тогда не нужны будут эти танцы со странным кодом, не делающим ничего полезного. Естественно все таблицы и соединение с бд должны быть в соответствующей кодировке, в вашем случае это скорее всего utf8mb4.
    Ответ написан
    Комментировать
  • Как называют "сервисный сбор" в корзине?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Упаковка/сборка заказа, можно даже сделать ее бесплатной от какой-то суммы.
    Ответ написан
    1 комментарий
  • Как загружать большие файлы асинхронно с формы сайта на облачное хранилище s3?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Подскажите пожалуйста как можно быстро отправлять форму/запрос чтобы загрузка шла в фоне и пользователи могли перезагружать страницу, загружать следующее видео.
    Короткий ответ - никак. Если пользователь будет перегружать страницу загрузка прервется. Это касается любого сервиса, будь то ютуб, вк или что-то другое.

    Вероятно у вас неверно изложена задача, скорее всего пользователь должен иметь возможность взаимодействовать с сайтом, а не перегружать страницу.
    Ответ написан
    Комментировать