• Как с помощью php читать из файла txt только вторую строку?

    Exomode
    @Exomode
    Архитектор ПО
    $show_info = fopen('events/kp1/dungeon1.txt', 'r');
    fgets($show_info);
    echo fgets($show_info);
    fclose($show_info);

    можно ещё сделать как-то так:
    function readLine($pathToFile, $index = 0) {
      if (!file_exists($pathToFile)) {
        return null;
      }
    
      $stream = fopen($pathToFile, 'r');
      $line = null;
    
      for ($i = 0; $i <= $index; $i++) {
        if ($index > 0) {
          fgets($stream);
        }
    
        if ($i == $index) {
          $line = fgets($stream);
        }
      }
    
      fclose($stream);
      return $line;
    }
    
    echo readLine('events/kp1/dungeon1.txt', 1);    // Выведет вторую строку файла.

    Не будет держать в памяти весь файл, как в предложенных вариантах выше, а значит подойдёт и для массивных файлов.
    Ответ написан
    2 комментария
  • Почему в услугах хостинга отсутствует PostgreSQL?

    Kwisatz
    @Kwisatz
    Больше web-приложений, хороших и разных
    Дак купите VPS и не мучайтесь. Выходит много дешевле в итоге. Я с тех пор как в европе взял vps вообще не могу смотреть на хостинговые цены.

    А времени там нужно то, прописать dns запись, поставить Apache/ PHP/ PostgreSQL создать виртуальный хост, создать базу - все)
    Ответ написан
    Комментировать
  • CKeditor, перенос на новую строку во вкладки "Источник"?

    @borg747
    Добавить в стили

    .cke_source {
    white-space: pre-wrap !important;
    }

    И все будет хорошо.
    Ответ написан
    1 комментарий
  • Есть ли аналог плагина Cloud Zoom?

    @TheKittyKing
    Вот версия cloud zoom 1.0.2.6 совместимый с JQuery 1.9.x +
    https://github.com/smurfy/cloud-zoom
    Ответ написан
    Комментировать
  • json_encode и кириллица

    @MaZaAa
    Все намного проще...
    json_encode($res, JSON_UNESCAPED_UNICODE);
    Ответ написан
    7 комментариев
  • Как менять размер контента у свойства content?

    blood-moon
    @blood-moon
    Фрилансер
    я бы сделал как-то так
    возможно это не правильно , за говнокод не отвечаю .
    content: "";
    	background-image: ('img.png') no-repeat;
    	background-size: cover;
    	/* Нужный размер */
    	height: 20px; /
    	width: 20px;
    Ответ написан
    Комментировать
  • Как из пути до файла получить имя файла без расширения?

    sergiks
    @sergiks Куратор тега PHP
    ♬♬
    без регулярных выражений встроенной в PHP функцией pathinfo():
    $info = pathinfo('/doc2/Тестовый документ.pdf');
    echo $info['filename']; // Тестовый документ
    Ответ написан
    4 комментария
  • Как получить json из post-запроса?

    makssof
    @makssof
    Web-разработчик
    $_POST - это распарсенный массив key=value
    $_POST = json_decode(file_get_contents('php://input'), true);

    Доки: https://www.php.net/manual/ru/wrappers.php.php#wra...
    Ответ написан
    4 комментария
  • Как установить Yii2 движок на хостинг?

    @sidni
    Php Developer
    Нужно выполнить команду в консоли
    composer install
    Для этого необходимо поставить сам composer
    Все это есть в README вашего движка.
    А теперь проблема, если у вас есть доступ на хостинг через ssh то впринципе есть вероятность что можно установить композер на сервер хостинга и все манипуляции производить там. Если же хостинг такого не позволяет, то вам придется развернуть сайт на своей домашней машине (поставить пхп, веб-сервер и тд) установить композер через него загрузить все зависимости и потом всю дирректорию проекта перенести на хостинг.
    Ответ написан
    1 комментарий
  • PHP, ООП. Практическое изучение

    Любую задачу (решаемую в принципе) можно реализовать как с ООП, так и без него (в процедурном стиле, например). «Прелести» ООП лучше всего чувствуются на больших проектах, где невозможно держать в голове все (глобальные) переменные и функции и способы их взаимодействия и приходишь к пониманию необходимости использовать более высокие уровни абстракции, чем отдельные значения и классические массивы из них. Начинаешь объединять семантически связанные данные в структуры (ассоциативные массивы в PHP), а функциям с ними работающим давать имена с префиксом (обычно) в виде названия (чисто семантическое) этих структур, чтобы хоть немного упорядочить глобальное пространство имён, получая функции вида user_login(array $user, $login, $password), user_logout(array $user) и user_is_logged(array $user). До простейшего ООП осталось сделать один шаг — перенести и функции (указатели на них в С, callback/имена в PHP) в эти структуры, но синтаксис вида call_user_func($user['user_login'], $user, $login, $password) мягко говоря неудобен и избыточен и тут в PHP4 вводят вместо него синтаксис $user->login($login, $password) и без него ты больше не можешь жить :)

    Если же до семантических концепций ООП не дойти на своей шкуре, то разницы между user_login(array $user, $login, $password) и $user->login($login, $password) почти нет, но даже на таком простом примере видно, что запись банально короче и глобальное пространство имён меньше используется, что особенно заметно при использовании IDE с автодополнением.

    Но это философское отступление было о некоторых прелестях ООП. Прямой ответ на вопрос «какую задачу?» — любую интересную хотя бы чуть-чуть. Желательно с развитой предметной областью, в которой ощущается интуитивно наличие нескольких абстракций разного уровня. Если для процедурного приложения вы создаёте несколько таблиц в БД или используете ассоциативные массивы для группировки семантически близких значений — то это, скорее всего, такая задача. Для большего wow-эффекта или просветления можно попробовать написать две версии одного приложения типа блога, одну в процедурном стиле, другую в ООП. Причём в первой желательно не использовать «промежуточные» решения типа ассоциативных массивов даже для mysql_fetch_assoc/array(), только бескомпромиссное mysql_fetch_row(). Если же без ассоциативных массивов вы уже разработки не представляете, то вы уже почти достигли ОО-просветления :)
    Ответ написан
    Комментировать
  • Чем плоха Джумла?

    sabramovskikh
    @sabramovskikh
    Она плохо:
    1) Глупая система шаблонов компонентов.
    2) SEF из коробки не всегда работает
    3) Несколько перенастроек кейвордсов, тайтлов и дескрипшинов. Фиг пойми где их вводит, потом ищешь где его поменять
    4) Ну и просто она без сторонних расширений не функциональная, а ставить их это 100% путь к заражению вирусами
    Ответ написан
    7 комментариев
  • Чем плоха Джумла?

    zooks
    @zooks
    Frontend
    Если вы про PHPNuke, то это скорее начало нулевых. Оттуда же родом Джумла (форк Mambo середины нулевых). На определенном этапе она была хороша, но сейчас ее будут поддерживать только лютые фанаты. Саму концепцию бездумной установки плагинов перенял WordPress. Если сайт 10 лет не поддерживался, то легче перенести на любую современную CMS.
    Ответ написан
  • Как установить composer и как им пользоваться под windows?

    K-2
    @K-2 Автор вопроса
    Постараюсь подвести первые итоги.

    Composer можно пользоваться в 2х вариантах.
    Глобально(установив программу) и Локально(ничего не устонавливая)
    И тот и тот способы работают только из командной строки. (Пуск->Стандартные->Командная строка)
    Для того чтобы что-то скопировать в командную строку ctrl+v не работает! Пользуемся правой кнопкой мышки->вставить

    ЛОКАЛЬНО пошагово
    1. Создаем папку, в которой будет проект на компьютере.
    2. В Командной строке пишем команду cd и путь к папке с проектом:
    cd C:\xampp\htdocs\test_composer
    3. Т.к. программа не установлена, нужен загрузочный файл(мини-программа composer), для его загрузки в Командной строке пишем команду:
    php -r "readfile('https://getcomposer.org/installer');" | php
    теперь в директории появился загрузочный файл
    4. Запускаем команду загрузки фреймворка(у каждого свой), в Командной строке пишем:
    php composer.phar require silex/silex ~1.1 (для фреймворка silex)

    В Командной строке, команды запускаются по разному при локальной и глобальной загрузках:
    Локально: php composer.phar require silex/silex ~1.1
    Глобально: composer require silex/silex ~1.1
    php composer.phar меняется на composer
    Еще при локальной загрузке нужно каждый раз закачивать установочный файл(это не сложно и описано в шаге 3):php -r "readfile('https://getcomposer.org/installer');" | php
    При глобальной загрузке этот файл не нужен.

    ГЛОБАЛЬНО пошагово
    1. Скачиваем программу composer https://getcomposer.org/Composer-Setup.exe
    2. Запускаем. При запросе файла php указываем путь к локальному хостингу -> папку php
    3. Теперь делаем все тоже самое что и при локальной загрузке, но пропускаем шаг 3, и изменяем запросы из Командной строки(вместо php composer.phar пишем composer). Пример:
    было так: php composer.phar require silex/silex ~1.1
    стало так: composer require silex/silex ~1.1

    О других отличиях между глобальной и локальной загрузками пока-что тут ничего не ответили!
    Ответ написан
    1 комментарий
  • Как задать value в input type date?

    @TheBububo
    <input type="date" value="YYYY-MM-DD">
    jsfiddle.net/DfkU5
    Ответ написан
    Комментировать
  • Как подключить новую версию PHPMailer 6.0.5?

    colonel
    @colonel
    Разработчик PHP, Laravel
    PHPMailer видимо должен быть в vendor (Подключаться через composer)
    Хотя, если второй пример из документации, он тоже должен работать.
    Просто где-то не внимательно прописали
    Ответ написан
    1 комментарий
  • Как с помощью Jquery нажать на ссылку с onclick()?

    ogarich89
    @ogarich89
    Front-End Developer
    Для начала изучи jQuery.

    Навесь класс для ссылки по клику на которую будет срабатывать твоя функция.

    Например <a href="" class="js-func"></a>

    $('.js-func').on('click', function(event) {
    		event.preventDefault();
    		my_func();
    	});

    event.preventDefault(); Запрет на выполнение стандартных действий, в данном случае href (переход по ссылке) не будет срабатывать.
    Ответ написан
    1 комментарий
  • Как автоматически проиграть музыку на сайте в Android?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    var audios = document.getElementsByTagName('audio');
    for(var i = 0;i < audios.length; i++){
       var a = audios[i];
       if(a.autoplay)
           a.play();
    }

    Попробуйте при загрузке. Но не уверен что поможет.
    Ответ написан
    1 комментарий
  • Как реализовать поиск в тексте preg_match_all?

    Toy
    @Toy
    Front-end Developer @ Starbucks
    preg_match_all("/\[text_(\d+)\]/", $content, $matches);
    print_r($matches);
    Ответ написан
    1 комментарий