Ответы пользователя по тегу PHP
  • Считать ли опыт разработки под битрикс полноценным опытом в php?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Битрикс может вызвать отвращение к веб-разработке, его польза только в том чтобы потом ярче воспринимать Laravel/Symfony и инструменты на их основе. Всё потому что битриксоиды забили на стандарты и философию программирования напридумав кучу велосипедов из костылей и вылизав их до состояния production обложив рекламой и маркетингом. На западе про это знают, на них пиары 1С (OneAss) не особо действуют.
    Ответ написан
    Комментировать
  • Какую CMS порекомендуете для практики в PHP?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    OctoberCMS потому что:
    • Он основан на Laravel
    • Прост в изучении
    • Имеет конструктор плагинов
    • Красивый код, красивая админка

    Надеюсь после него не захочется даже думать о WP
    Ответ написан
    Комментировать
  • Вывод из базы данных mysql каждый элемент как массива Php+mysql?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Ну во первых: то что вы хотите сделать, очень похоже на денормализацию базы данных что не есть хорошо. Ну не мне судить я не знаю нюансов вашего случая.
    Во вторых это можно сделать на php так: Допустим что $items это коллекция (в виде обычного массива) записей вашей базы, тогда чтобы привести её к нужному вам виду нужно сделать что-то типа:
    $arr = [];
    foreach($items as $item) {
        $arr[$item['id_article']][] = $item['size'];
    }
    
    $result = [];
    foreach($arr as $key => $val) {
        $result[$key] = join(',',$val);
    }
    Ответ написан
    Комментировать
  • Из JavaScript в PHP?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    $error_porl = strpos('id="error_porl"', $html);
    if($error_porl)
    {
        $html = str_replace('id="error_porl"', 'id="error_porl" style="display:block"', $html);
    }
    Ответ написан
  • Как получить даные из трех таблиц?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Ещё можно использовать GROUP BY, выглядит примерно так:
    SELECT books.id, books.bookname
    FROM pivot_table, books, users
    WHERE books.id = pivot_table.book_id
    AND pivot_table.user_id = 3
    GROUP BY books.bookname
    Ответ написан
    2 комментария
  • Возможно ли перевести данные стороннего сайта в iframe?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Я предполагаю что вы хотите это сделать через фронтенд с помощью JavaScript иначе такого вопроса не возникло бы (curl и всё такое), это можно сделать с помощью jQuery например так:
    var html = $('iframe').contents().find('body').html();

    Далее делаем с html всё что нам нужно, и то что получилось вставляем вместо iframe, но загвоздка состоит в том, что с другого домена так сделать просто так не получится, если там не отключат "защиту" (пока не включат в заголовки Access-Control-Allow-Origin: *), а пока этого не сделают будет:
    Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin
    Ответ написан
    Комментировать
  • Какую ide выбрать?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Попробуйте ещё Komodo IDE он напрямую работает по FTP. Хотя PHPStorm и Netbeans всё равно круче, лучше сразу к хорошему привыкать.
    Ответ написан
    Комментировать
  • Как задать список разрешенных PHP-файлов?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Это .htaccess от October CMS возможно укажет направление
    <IfModule mod_rewrite.c>
    
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>
    
        RewriteEngine On
    
        ##
        ## You may need to uncomment the following line for some hosting environments,
        ## if you have installed to a subdirectory, enter the name here also.
        ##
        # RewriteBase /
    
        ##
        ## Black list protected files
        ##
        RewriteRule ^themes/.*/(layouts|pages|partials)/.*.htm index.php [L,NC]
        RewriteRule ^bootstrap/.* index.php [L,NC]
        RewriteRule ^config/.* index.php [L,NC]
        RewriteRule ^vendor/.* index.php [L,NC]
        RewriteRule ^storage/cms/.* index.php [L,NC]
        RewriteRule ^storage/logs/.* index.php [L,NC]
        RewriteRule ^storage/framework/.* index.php [L,NC]
        RewriteRule ^storage/temp/protected/.* index.php [L,NC]
        RewriteRule ^storage/app/uploads/protected/.* index.php [L,NC]
    
        ##
        ## White listed folders and files
        ##
        RewriteCond %{REQUEST_FILENAME} -f
        RewriteCond %{REQUEST_URI} !\.js$
        RewriteCond %{REQUEST_URI} !\.map$
        RewriteCond %{REQUEST_URI} !\.ico$
        RewriteCond %{REQUEST_URI} !\.jpg$
        RewriteCond %{REQUEST_URI} !\.jpeg$
        RewriteCond %{REQUEST_URI} !\.bmp$
        RewriteCond %{REQUEST_URI} !\.png$
        RewriteCond %{REQUEST_URI} !\.gif$
        RewriteCond %{REQUEST_URI} !\.svg$
        RewriteCond %{REQUEST_URI} !\.css$
        RewriteCond %{REQUEST_URI} !\.less$
        RewriteCond %{REQUEST_URI} !\.scss$
        RewriteCond %{REQUEST_URI} !\.pdf$
        RewriteCond %{REQUEST_URI} !\.swf$
        RewriteCond %{REQUEST_URI} !\.txt$
        RewriteCond %{REQUEST_URI} !\.xml$
        RewriteCond %{REQUEST_URI} !\.xls$
        RewriteCond %{REQUEST_URI} !\.eot$
        RewriteCond %{REQUEST_URI} !\.woff$
        RewriteCond %{REQUEST_URI} !\.woff2$
        RewriteCond %{REQUEST_URI} !\.ttf$
        RewriteCond %{REQUEST_URI} !\.flv$
        RewriteCond %{REQUEST_URI} !\.wmv$
        RewriteCond %{REQUEST_URI} !\.mp3$
        RewriteCond %{REQUEST_URI} !\.ogg$
        RewriteCond %{REQUEST_URI} !\.wav$
        RewriteCond %{REQUEST_URI} !\.avi$
        RewriteCond %{REQUEST_URI} !\.mov$
        RewriteCond %{REQUEST_URI} !\.mp4$
        RewriteCond %{REQUEST_URI} !\.mpeg$
        RewriteCond %{REQUEST_URI} !\.webm$
        RewriteCond %{REQUEST_URI} !\.mkv$
        RewriteCond %{REQUEST_URI} !\.rar$
        RewriteCond %{REQUEST_URI} !\.zip$
        RewriteCond %{REQUEST_URI} !docs/.*
        RewriteCond %{REQUEST_URI} !themes/.*
        RewriteRule ^ index.php [L,NC]
    
        ##
        ## Standard routes
        ##
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    
    </IfModule>
    Ответ написан
  • Как узнать внешний IP-адрес с помощью PHP?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    Тоже столкнулся с данной проблемой, у меня домашний сервер и динамический ip, и нужно было написать скрипт который отправляет в noip.com ip-адрес если он изменился. Из за того что клиент для noip у меня не собрался под линух (какие-то проблемы, было лень решать) я решил написать простенький скрипт на php который 1) Узнаёт внешний ip 2) Отправляет ip в noip. Погуглив не нашёл не одного онлайн-сервиса, где просто была бы ссылка по которой просто получаешь свой ip, везде надо парсить. Не нашёл и в yandex api подобного (может плохо искал, если кто знает напишите) короче я решил сам себе сделать такой сервис, запилил на хостинге поддомен myip.mraak.ru, там всего один файл со строкой <?php echo $_SERVER['REMOTE_ADDR'];
    Ответ написан
    Комментировать
  • Почему PHP не выводит никаких ошибок?

    mcmraak
    @mcmraak
    php+sql+js+bicycle+crutches
    PHP : Включить показ предупреждений и ошибок PHP

    Включение вывода всех ошибок и предупреждений в файле php.ini
    error_reporting = E_ALL
    display_errors = On
    display_startup_errors = On

    Включение вывода всех ошибок и предупреждений в коде PHP-скриптов
    Включить вывод уведомлений и предупреждений можно, добавив в начало нужного .php файла следующие строки:

    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);

    Включение вывода всех ошибок и предупреждений в файле .htaccess
    php_value display_errors 1
    php_value display_startup_errors 1
    php_value error_reporting E_ALL
    Ответ написан
    3 комментария