Ответы пользователя по тегу PHP
  • Как правильно обрабатывать входящие данные?

    solotony
    @solotony
    покоряю пик Балмера
    1) использовать фреймворк который это уже делает

    2) писать фреймворк самому.

    вопрос у тебя задача какая ?
    Ответ написан
    Комментировать
  • Варианты снижения потребления форками PHP памяти?

    solotony
    @solotony
    покоряю пик Балмера
    используй pthreads вместо форков
    Ответ написан
  • Как запустить фоновый php?

    solotony
    @solotony
    покоряю пик Балмера
    Ответ написан
    Комментировать
  • Как работает функция phpmail?

    solotony
    @solotony
    покоряю пик Балмера
    отправка почты "методом php" не является хорошим способом, потому что ваша почта идет через все фильтры и сервера провайдера и высока вероятность потери/недоставки письма (особенно это касается мелких провайдеров)

    наиболее "правильный" способ на сегодня - отправлять через крупную почтовую службу (яндекс, mail, google), а им почта в свою очередь доставляется по защищенному SMTP напрямую из вашего php скрипта.
    Ответ написан
    Комментировать
  • Как зарегистрировать класс в PHP?

    solotony
    @solotony
    покоряю пик Балмера
    потому что use импортирует имена а не подгружает файлы

    вот так все будет работать

    <?php
    
    require_once 'test\Test.php';
    use test\Test;
    
    $a = new Test;
    
    var_dump($a);
    
    ?>


    либо без use

    <?php
    require_once 'test\Test.php';
    
    $b =  new test\Test;
    
    var_dump($b);
    ?>
    Ответ написан
  • Как сделать регулярное выражение для проверки номера?

    solotony
    @solotony
    покоряю пик Балмера
    либо проверяй на точное соответствие шаблону простой регуляркой, либо не имеет смысл так мучаться, потому что вариантов написания 100500 : 8(86-141) 3-39-40 , +375 (44) 560-51-74 , поэтому проверяй то что останется после удаления скобок, пробелов и дефисов
    Ответ написан
    Комментировать
  • Что означает эта фраза в документации?

    solotony
    @solotony
    покоряю пик Балмера
    это означает что декларированный Mime может не соответствовать тому что реально передано. и PHP это не проверяет.

    Как его проверить на клиенте?

    клиент его передает

    И как проверит на сервере?

    посмотреть содержимое файла.

    в UNIX- системах это делает команда file -i
    Ответ написан
    Комментировать
  • Как узнать версию MySQL, если имеешь доступ только к ftp и консоли Wordpress?

    solotony
    @solotony
    покоряю пик Балмера
    в конфиге WP смотришь параметры коннекта к базе

    /** The name of the database for WordPress */
    define('DB_NAME', 'assolo0k_clex');
    
    /** MySQL database username */
    define('DB_USER', 'assolo0k_clex');
    
    /** MySQL database password */
    define('DB_PASSWORD', '**************');
    
    /** MySQL hostname */
    define('DB_HOST', 'localhost');
    
    /** Database Charset to use in creating database tables. */
    define('DB_CHARSET', 'utf8');


    далее доступным тебе способом выполни запрос к базе SHOW VARIABLES LIKE "%version%

    я делаю это из командной строки

    mysql -uassolo0k_clex -p********* -Dassolo0k_clex -e'SHOW VARIABLES LIKE "%version%";'

    +-------------------------+---------------------------------+
    | Variable_name           | Value                           |
    +-------------------------+---------------------------------+
    | innodb_version          | 5.7.20-19                       |
    | protocol_version        | 10                              |
    | slave_type_conversions  |                                 |
    | tls_version             | TLSv1,TLSv1.1                   |
    | version                 | 5.7.20-19-beget-5.7.20-20-1-log |
    | version_comment         | (LTD BeGet)                     |
    | version_compile_machine | x86_64                          |
    | version_compile_os      | Linux                           |
    +-------------------------+---------------------------------+


    а ты можешь написать на PHP что-то вроде, залить по FTP и выполнить через http

    $con = mysql_connect('HOSTNAME','USERNAME','PASSWORD');
    mysql_select_db('DATABASENAME', $con);
    $query = "SHOW VARIABLES LIKE '%version%'";
    $result = mysql_query($query);


    надо смотреть не только на версию, но и на другие переменные - например актуально на сегодня поддержка utf8_mb4, длина ключа, если поддерживается utf8_mb4
    Ответ написан
    Комментировать
  • Как найти PHP на Windows10?

    solotony
    @solotony
    покоряю пик Балмера
    переменная среды path. там прописан путь к исполняшке.
    Ответ написан
    1 комментарий
  • Что нужно возвращать: null или false?

    solotony
    @solotony
    покоряю пик Балмера
    а я думаю что совершенно безразлично что возвращать. главное - написать спецификацию и соблюдать еще. ну и конечно в рамках одного проекта наверно надо соблюдать единый стиль.

    можно еще возвращать объект "ответ" который содержит результат - успешно/не успешно, данные ответа, код ошибки

    по поводу исключений - исключения это способ "красивого" аварийного завершения работы.
    Ответ написан
    Комментировать
  • Разве Composer бесполезен в 2017?

    solotony
    @solotony
    покоряю пик Балмера
    вопрос работать там или нет зависит от денег которые там платят. если ты можешь выполнять работу и получать за нее хорошую оплату - почему бы не делать ее? То что ты несогласен с требованиями - всегда будет что-то что тебя раздражает.
    Ответ написан
    Комментировать
  • Выполнение скрипта раз в 5 секунд?

    solotony
    @solotony
    покоряю пик Балмера
    использовать процессы/потоки. родитель раз в 5 секунд плодит по новому процессу. детские процессы. отрабатывают твои задачи.
    Ответ написан
    Комментировать
  • Что такое ?? в php и почему нету нигде информации?

    solotony
    @solotony
    покоряю пик Балмера
    php.net/manual/ru/language.operators.comparison.php

    Оператор null coalescing

    если значение первого операнда не null - то первый операнд, иначе - второй
    Ответ написан
    Комментировать
  • Фреймворк PHP без установки?

    solotony
    @solotony
    покоряю пик Балмера
    современные PHP-фреймворки собраны при помощи composer-а, при установке они собирают все свои зависимости в единое целое.

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

    solotony
    @solotony
    покоряю пик Балмера
    фреймворк - это куча полезных библиотек, модулей. фреймворк - это готовый каркас для вашего приложения. используя фреймворк вы пишите только "бизнес-логику" вашего приложения.
    Ответ написан
    1 комментарий
  • Php отправка email через smtp выдает undisclosed-recipients в чем проблема?

    solotony
    @solotony
    покоряю пик Балмера
    лень разбираться в твоем скрипте но ошибка однозначно говорит что получатели не указаны. скорее всего ты неверно формируешь поле To и/или rcpt to .. хотя может быть вариант релея при непройденной аутентификации. Сделай полный лог всего обмена - и поймешь
    Ответ написан
    Комментировать
  • На сколько хороша/плоха идея перенести сайт на АПИ для этого же сайта?

    solotony
    @solotony
    покоряю пик Балмера
    Максим Компаниец, ну делай, если это обосновано реальными потребностями. если же у тебя 1 сервер который сам у себя запрашивает - какой в этом смысл ?

    ну и в твоем варианте (когда ты указываешь УРЛ) curl все равно будет использоваться. так что учти что у тебя будет двойная нагрузка на сервер . а если с одной страницы несколько вызовов к api - то не только двойная.

    если у тебя сервер (предоставляющий api) и клиент этого api на одной машине, то для их общения есть много более эффективных способов нежели вида getApi( '/api?method=1&param=2&param3=1232' );
    Ответ написан
    Комментировать
  • Как въехать в программирование (ООП, паттерны)?

    solotony
    @solotony
    покоряю пик Балмера
    проблема понимания ООП на 90% - в плохих переводах которые делаются хрен знает кем и хрен знает как. зачастую люди вообще слабо понимают о чем пишут (переводят) либо у них проблемы с языком изложения.
    либо авторы страдают неудержимыми приступами графомании.

    почему-то мне кажется что все ООП можно изложить схематически на 3-х тетрадных листочках

    Я сам изучал ООП на С++ (по страуструпу лет 25 назад), но парадигмы остаются такими же - наследование, инкапсуляция, полиморфизм.

    а Dependency Injection - просто как мычание. "в объект при его создании (как правило при создании ) передаются объекты от которых он зависит"
    Ответ написан
    1 комментарий
  • PHP. Как реализовать чтение из CSV для скрипта?

    solotony
    @solotony
    покоряю пик Балмера
    Как-то так

    $f = fopen($filename, "r");
            // Читать построчно до конца файла
            while (!feof($f)) {
    
                $r = fgets($f);
    
                if ($encoding != 'UTF-8') {
                    $r = mb_convert_encoding($r, 'UTF-8', $encoding);
                }
    
                chop($r);
                if (!$r) {
                    continue;
                }
    
                $arr = preg_split('/;/', $r);
                if (!is_array($arr)) {
                    continue;
                }
    Ответ написан
    5 комментариев
  • Как увличить серверное время на час?

    solotony
    @solotony
    покоряю пик Балмера
    из php ты переменную не вытащищь

    надо

    либо а) возвращать все 3 переменные сформировав JSON

    либо б) передавать время (лучше числом) клиенту и клиентом уже вычислять локальное время с учетом своего сдвига.

    либо в) передавать серверу параметр (например +1, -1, 0) и анализируя его возвращать то или иное значение
    Ответ написан
    Комментировать