Ответы пользователя по тегу PHP
  • Как получить путь от корня юзера имея к серверу только коннект по ftp?

    В общем случае никак, т.к. это зависит от конфигурации ftp-демона: многие делают chroot в домашнюю папку юзера, а некоторые вообще виртуализируют пути. Обычно скрипты, которые по ФТП обновляют (тот же phpbb), запрашивают префикс для фтп-пути к www-root у юзера.

    В частном случае, когда фтп-досутп идет от корневой ФС, и ПХП тоже работает без чрутов и прочих ограничений - получаем полный путь к файлу через realpath() и отдаем его ФТП.
    Ответ написан
    Комментировать
  • Способы обмена данными между PHP сценариями?

    Вопрос поставлен не совсем корректно, т.к. может быть 2 трактовки:

    1. Если речь идет о веб-скриптах, которые выполняются последовательно, то чем вам не нравится сессия? В данном случае это не костыль — она именно для этого и придумана. Если не нравится непосредственно стандартная реализация, то можно взять собственную (принципиально аналогичную): генерировать ID клиента (сессии) и передавать его через get/post/cookie (по вкусу), а уже сами данные хранить либо в файлах, либо в базе данных, и получать с помощью этого идентификатора в качестве ассоциативного ключа.

    Непосредственно данные через куки, гет и пост передавать естественно в данном случае не стоит: эти вещи всегда можно подделать, т.к. они идут через клиента. Это можно назвать костылем :)

    ================
    2. Если же речь идет о выполняющихся одновременно 2 шелл-скриптах, т.е. межпроцессное взаимодействие (IPC), то тут можно использовать разные более или менее системно-зависимых вариантов. От стандартных механизмов IPC: семафоры, сообщения, шаред блок памяти, до специфичных вещей вроде именованного пайпа или сокета; или же аналогичных п.1 вещей (база данных/файлы).
    Ответ написан
    1 комментарий
  • Баннерная система на сайте?

    > Также может посоветуете какую-нибудь opensource баннерную систему на PHP?
    OpenX попробуйте. Очень «тяжелая», но весьма функциональная.
    Ответ написан
    Комментировать
  • Управление win приложением средствами PHP

    RTFM MSDN :)

    FindWindow/PostMessage (WinAPI)

    Далее — любым способом приделываем к ПХП: либо расширением, либо просто отдельным приложением с нтерфейсом на stdin/out (пхп его запускает и передает необходимые данные/команды).
    Ответ написан
    6 комментариев
  • Бекапы версий контента при создании статьи как реализовать? (PHP, MySql)?

    Скорее всего там структура базы включает эту возможность: при сохранении данные не апдейтом заменяются в базе, а добавляется новая строка.

    Простейшая структура с минимальным кол-вом необходимых полей выглядит так:
    — article_id (не уникальный)
    — timestamp
    — content

    Соответственно при сохранении добавляем новую строку с тем же ID, но более свежим таймстампом. При выборке — берем наиболее свежий (запросы с группировкой, либо дополнительное обновляемое поле с флажком для пефоманса).
    Ответ написан
    4 комментария
  • Почему singleton круче global?

    Действительно, понятия немного из серии «что лучше, Алла Пугачева, или цветной телевизор». Однако если я правильно понял мысль автора, постараюсь ответить :)

    Все очень зависит от используемого языка. Но в целом сразу видятся такие причины:

    1. Глобальную переменную может случайно переопределить другой модуль. Получим сложно отлавливаемую ошибку. Класс же, посредством которого реализован паттерн синглтон в большинстве языков переопределить нельзя. Ну или по крайней мере можно получить ошибку компиляции (в компилируемых языках).

    2. Область видимости имен классов обычно не зависит от контекста. Глобальная же область переменных в некоторых языках опять же может меняться.
    Ответ написан
    Комментировать