Ответы пользователя по тегу PHP
  • Где и в каких случаях в php (ООП) используется __constructor?

    svd71
    @svd71
    В ООП конструктору отводится роль инициализации объекта (таких операций как выделение нужной памяти для размещения полей объекта, инициализация этих переменных). Умельцы так же вставляют в конструктор код по взаимодействию с другими объектами (такое иногда требуется: например если в какой то коллекции создается еще один элемент, то этот элемент об успехе операции информирует коллекцию).

    В php само понятие ООП синтезировано изначально из необъектных скриптов и соблюдение некоторых парадигм ООП не является обязательным.
    Ответ написан
    Комментировать
  • Как реализовать многопоточность в php?

    svd71
    @svd71
    реализуется с помощью обычного ajax. Клиенту передается список пользователей. Каждый элемент он запрашивает по отдельности через ajax. Это дает возможность визуализировать процесс обработки (проенты или прочее) и еще возможность клиенту прервать в любой момент обработку и остаться в сессии.
    На этом принципе работает большинство бэкапов ЦМС, где когличество файлов, таблиц и их размеров заранее неизвестно.
    Если там совсем уж что то секретное, то списки можно шифровать/дешифровать.
    Ответ написан
    2 комментария
  • Использовать таблицу?

    svd71
    @svd71
    ну если есть уже встроенные фунции, зачем лепить таблицы?
    de1.php.net/manual/en/function.sin.php

    да и вообще sin и cos это не те функции которым нужны таблицы. логарифмы и арктангенсы обычно лепят. Но там, где такими функциями вообще не пахнет.
    Ответ написан
    Комментировать
  • Как сохранять текст в файле php?

    svd71
    @svd71
    Есть в php две функции по работе с файлами: file_get_contents и file_put_contents. Когда скрипт получает данные из браузера, то набраный текст передается в $_POST массиве. Если элемент массива не пустой, то его можно оттуда взять и записать в файл с помощью file_put_contents. Затем с file_get_contents прочитать заново и поместить в нужный textarea.
    Ответ написан
    Комментировать
  • Как разрешить исполнение php-скриптов не только из под /var/www нои и из под /usr/share в php.ini?

    svd71
    @svd71
    пользователь www-data должен входить в группу владельца данной папки. Но так как DOCUMENY_ROOT всего лишь один, то лучше использовать ссылку на /usr/share
    Ответ написан
    Комментировать
  • Как создать запрос mysql с множеством параметров?

    svd71
    @svd71
    Секунды нужно проверять специализированной программой, а не временем обращения к php-скрипту на локальном компьютере. Уверен, что отображение времени исплнения запроса будет ИДТИ не так пессимистично, а намного быстрее. СЕЙЧас долго немог понять почему нужно вести поиск по слову "Мозг".
    Ответ написан
  • PDO Firebird. Причина возникновения 324 ошибки?

    svd71
    @svd71
    похоже на то, что хринимая процедура скомпилировава с признаком возврата результата, но не возвращает ничего. Создате в процедуре переменную в списке returns и в конце выполнения перед выходами из обработки делайте suspend. или в самом начале выполнения, ведь результат не интересен.
    Ответ написан
    Комментировать
  • Какое решение подойдет для фонового вычисления на php?

    svd71
    @svd71
    Немного не так должно пойти. JS на странице ввода данных стартует этот фоновый запрос, показывая счетчик выполнения. При получении итвета об выполнении переводит на страницу с готовым результатом. Пример можно просмотреть на любом файловом шаринге.

    Сам фоновый процесс можно организовать следуюшим образом: php скрипт создает в определенной папке текстовый файл с именем сессии полъзователя. Внутри - путь до ишодной картинки. В кроне проверяется в этой папке наличие файлов, если файл найден, то берется и запускается обработка. по окончании обработки создается файл с именем сессии в другой папке с содержимым в виде пути к обработанному файлу. php-скрипт, проверяющий по ajax-запросу браузера готовност просто ищет в этой папке файл с именем, как сессия и если находит, то сообсшает, что выполнено.
    Ответ написан
  • Почему PHP не может записать значение в arduino ?

    svd71
    @svd71
    "Шо, опять???" ©

    1. Попробуй вызывать в пайповом формате: "COM17:" - большими буквами и еще вариан с двоеточием на окончании.

    2. Войди в настройку устройств, далее в свойствах компорта изменить 17 на 1,2,3. Но не более 5. Не все программы одинаково работают с раширенным списком портов.

    3. Винда - не очень хорошая затея для сервера в часности. Разница с линуксом в том, что в линуксе настроил и будет работать всегда. А в Винде постоянно танцы с бубном.
    Ответ написан
  • Почему возвращается только первое совпадение при использование оператора LIKE в mysql?

    svd71
    @svd71
    Потому что имеются две функции: fetch и fetchAll. После первой нужно перемещаться по курсору с помощью функции next. Вторая же вернет все строки из курсора за одно обращерие.
    Ответ написан
  • Как управлять Arduino из интернета ?

    svd71
    @svd71
    Есть два вида реализации: один долгий и затратный и второй попроще.
    Первый - который хочешь ты. Требуется Ethernet Shield, в нем нужно писать по таймеру чиение определенного запроса по TCP/IP с любого доступного сервера, где можно располагать свои данные. Далее анализировать полученный код и делать то, что нужно.

    Второй вариант. Если уже стоит домашний сервер, то что стоит к нему подключить Arduino и по запросу скрипта передавать по COM-порту нужные данные и читать ответ?
    Ответ написан
  • Как скрывать прямую ссылку?

    svd71
    @svd71
    Используй session id. И просто проверяй совпадает ли этот id из ссылки с значением текущего соеднения.
    Ответ написан
    3 комментария
  • Не могу поменять разрешения на файл с помощью php chmod?

    svd71
    @svd71
    скорее всего владельцем файла является кто-то другой. Попробуйте сменить владельца.

    раз у вас юзер apache, то смею предположить, что действия ведутся под виндой. В никсовых системах файлы обычно пренадлежат юзеру www-data.
    Ответ написан
    Комментировать
  • Как сделать роутинг на PHP

    svd71
    @svd71
    собственно это произойдет только внутри кода. нужно прочитать значение по $_SERVER['REQUEST_URI']== '1.html' и изменить редирект на нужную страницу header('Location: /1');
    Ответ написан
    Комментировать
  • Выход из условия if

    svd71
    @svd71
    вообще вопрос дебильный. что значит "выйти из условия"? условие уже пройдено, больше выполняться не будет и даже если ничего не делать второй раз в условие непопасть.

    Если перед условием стоят операторы организации цикла, но автор об этом вроде не закикается.
    Ответ написан
    3 комментария
  • Как модальному окну передать значение get-параметра?

    svd71
    @svd71
    function getUrlVars() { vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; }
    Ответ написан
    Комментировать
  • В чем преимущества PHP перед ASP.NET?

    svd71
    @svd71
    1а. ASP это компилированный язык в котором компоненты обернуты некоторым фреймворком(которые тоже скомпилированы) и которые вызывает напрямую функции ОС. Скорость исполнения зависит от скорости обращения машинного кода к такому же коду компонентов, которые через кодовые функции фреймворка обрабатывается понятными процессору кодами функций операционной системы. Причем при компиляции полученный код может оптимизироваться. При этом не стоит забывать, что организации сервера необходимо установить ОС, фрейм ворк (и часто не один), дополнительные библиотеки и сервер. Что уже само по себе не дешевое решение при выигрыше в скорости исполнения кода.

    1б. PHP это скриптовый язык. Это означает, что ему необходим некоторый интерпретатор всего того, что там в этих скриптах написано. Скорость исполнения зависит от размера скриптов, скорости "перевода" текста скриптов в некоторые куски программного кода, который уже невозможно никак оптимизировать, и которые потому обращаются к функциям ОС. Правда некоторые хитрые личности умудрились сделать этокие компиляторы в так называемый байт-код. В основном этот код можно слегка оптимизировать. но чаще только на полном исключении оставленных комметариев и символов отсутпов. Хотя нужно признать, с каждым годом этот скритовый язык все быстрее в том числе из-за вожможности ОС быстрее читать данные из файлов. Цепочка выполнения не сложная: сервер, скрипт, интерпретатор, ОС. Даже в неумелых руках можно запустить с легкого пинка. И под любой ОС.

    2а. ASP требует некоторого обязательного компилятора, некоторых способов отладки получаемого кода, некоторых знаний особенности ОС и фреймворка. Это, нужно заметить, не простая задача. Тем более нет возможности вести нормальную разработку в каком-либо совсем примитивном текстовом редакторе. Но можно.

    2б. PHP не требует особых знаний н тем более глубоких знаний ни в одной области - от использования памяти до особенностей работы с теми или иными функциями ядра ОС. Все эти заботы берут на себя и чаще всего успешно решают разработчики интерпретатора. Даже подавление ошибок чаще всего по-умолчанию отключено.

    ПС: Выводы можно дополнить самому. Я описал самые явные различия в технологиях. Много конечно не указал: например работа с объектами имеет некоторые существенные различия. Проприетарность, возможность взлома, возможность отладки, количества IDE под каждую технологию.
    Ответ написан
    5 комментариев
  • Cтоит ли создавать отдельную таблицу для картинок в БД ?

    svd71
    @svd71
    На самом деле картинки - это такой ресурс, который лучше не колбасить движком без надобности. Запросто скажется на производительности. Намного лучше в базе в отдельной таблице хранить описание картинки(путь к файлу, заголовок и т.д. и т.п.), но картинку физически хранить на диске. С файловой системой операции показа картинок будут проходить намного быстрее.
    Ответ написан
    1 комментарий
  • Как реализовать сортировку массива и замену его частей?

    svd71
    @svd71
    используйте функции работы с массивом с кэллбэком на пользователскую функцию для обработки:

    de3.php.net/manual/ru/function.uasort.php

    de3.php.net/manual/ru/function.array-walk.php
    Ответ написан