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

    nazarpc
    @nazarpc
    Open Source enthusiast
    Вам нужно связать объект с определёнными участками кода, и вы тут же оборвали возможные технические способы.
    Можете попробовать хранить в кеше APC (функции apc_store()/apc_fetch()) — но не уверен в том, правильно ли он будет хранить объекты. Да и между запросами такой кеш будет сохранять данные.
    Ответ написан
    Комментировать
  • Как отгружать купленные электронные товары?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Можете записывать ключи, которые передаются в ссылке, хранить их в БД, при переходе по ссылке проверяется, если ли доступ ко этому ключу, если есть — то для какого товара.
    Если всё ОК — скриптом отдаете файл клиенту, а сам файл может лежать где угодно, вы скриптом можете его хоть с ftp переправлять. Только в таком случае нужно использовать легковесный веб-сервер, иначе при большом количестве одновременных скачиваний ему будет туго.

    Если развить указанный yaksa вариант — файл можно не копировать, а делать каждому пользователю симлинки на оригинальный файл с уникальным адресом, по истечению годности симлинк удалять.
    Ответ написан
    Комментировать
  • Как научится настраивать web-сервер под Linux?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Конфигурирование немного, но зависит от дистрибутива.
    К примеру, Ubuntu:
    apt-get install apache2 php5 mysql-client mysql-server phpmyadmin libapache2-mod-php5 php5-mysql
    Эта строчка установит Apache2, PHP5, клиент и сервер MySQL, модуль php5 для Apache2 и модуль MySQL для php5. Разобраться в строчке не сложно.
    Чаще всего ещё нужны модули GD или Imagick (для изображений), Mcrypt и Mhash (для шифрования и хеширования), а также PhpMyAdmin:
    apt-get install php5-gd php5-imagick php5-mcrypt php5-mhash phpmyadmin
    Можно объединить вместе с предыдущими командами.
    Если запускаете не из под root — добавляйте sudo в начало строки (для Ubuntu).
    Для настройки самих сайтов — смотрите пример /etc/apache2/sites-available/default, копируете его с новым именем, и запускаете в консоли a2ensite название файла, потом service apache2 reload — загружаете новую конфигурацию.
    В файл /etc/hosts добавляете строчку 127.0.0.1 название_домена и готово.

    Для удобства можете установить файловый менеджер mc (название пакета и команда для запуска тоже mc, как устанавливать написано выше). На других дистрибутивах может меняться менеджер пакетов (тот, что apt-get) но в общем то же самое.

    Для более сложных ситуаций читайте документацию/примеры конфигурационного файла apache. Для установки nginx в целом то же самое, просто немного иные пакеты, и другой конфигурационный файл.

    Краткий мануал набросал в самом простом виде, ещё их много в сети. Попробуйте установить на локальную виртуальную машину Ubuntu Server (или даже Desktop для начала, чтобы было проще ориентироваться) и попробовать.
    Ответ написан
    5 комментариев
  • Как отличить строку от функции в php?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Строка — это строка, а функция — это функция.
    Это как отличие дерева от воды.
    Другое дело, что текст в строке может совпадать с названием какой-то функции/класса/константы в текущей области видимости, но строка от этого функцией/классом/константой не становится.
    Ответ написан
    1 комментарий
  • UNIX_TIMESTAMP, взятый из MySQL и конвертированный в Date в JS выдает странный результат

    nazarpc
    @nazarpc
    Open Source enthusiast
    Скорее всего да, часовые пояса, разница всего в один час.
    MySQL работает в часовом поясе сервера, а JS в часовом поясе браузера, то есть клиентского компьютера.
    Видимо, сервер работает в GMT+0400
    Ответ написан
    6 комментариев
  • Правильный ли алгоритм авторизации на Session и Cookies?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Зачем вы сами cookie отправляете? Опять велосипедничаете… Если используете $_SESSION — то уже и session_start() используйте, она сама сгенерирует хеш и отправит cookie. А если делаете собственный механизм — то $_SESSION тут ни при чём.
    А вообще — начните с документации
    Ответ написан
    Комментировать
  • Есть ли фреймворки на PHP 5.4+?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Я пишу CMF на PHP 5.4.
    Traits пока не использовал, но некоторые вещи уже сумели необратимо убрать совместимость с PHP 5.3.
    Ну и директивы с php.ini наконец устаревшие по убирали — меньше проверок нужно делать.
    Ответ написан
    Комментировать
  • php. Как получить массив слов строки?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Зачем так усложнять? Есть же стандартные функции на все большинство тривиальных задач.
    str_word_count — Возвращает информацию о словах, входящих в строку
    Ответ написан
    Комментировать