Ответы пользователя по тегу PHP
  • Выбор web чата для интеграции на свой сайт

    UZER2006
    @UZER2006
    Когда-то писал для своих нужд многопользовательский чат. Сервер – PHP+MySQL, COMET – dklab_realplexor. На базе этого, как по мне, простейший чат можно сделать в 100-200 строчек. В realplexor есть готовый JS-плагин, на клиенте надо будет писать только интерфейс и обработку событий.
    Ответ написан
    Комментировать
  • Vk API. Wall.post?

    UZER2006
    @UZER2006
    Видимо, вы что-то делаете не так. Советую в лучших традициях windows перезагрузиться и попробовать снова.
    1. wall.post доступен только standalone-приложениям (или web при использовании окна подтверждения). Тип приложения (кажется) не меняется и задаётся на этапе создания.
    2. Соответственно, wall.post разрешён только токену, полученому через blank.html (в остальных случаях запрос прав wall просто игнорируется)
    Ссылка на получение имеет вид https://oauth.vk.com/authorize?client_id=<app_id>&scope=...,wall,...&redirect_uri=https://oauth.vk.com/blank.html&response_type=token
    Чтобы было меньше проблем – можно в scope добавить параметр offline – полученый токен будет «вечный» (по факту, будет жить до удаления приложения или изменения пароля Вк).
    3. В итоге вызов для отправки сообщения имеет вид https://api.vk.com/method/wall.post?owner_id=<id группы или пользователя>&message=<текст сообщения>&access_token=<ранее полученный токен>

    В принципе, если пост производится по действию пользователя, то, если ничего не получится, можно использовать JavaScript VK.api и постить с окном подтверждения.
    Ответ написан
    1 комментарий
  • AMR → MP3

    UZER2006
    @UZER2006
    А сервер и PHP у вас полноценный? То есть, есть возможность сделать exec?
    В своё время делали немного костыльный метод конвертации .gsm в .mp3 (или наоборот, кажется) через двойную конвертацию .gsm -> .wav с помощью SoX, а оттуда уже каким-то mpeg или lame в mp3. Делалось через соответствюущие вызовы exec на PHP.
    Кстати, смотрю, этот же SoX поддерживает и AMR, а с дополнительными библиотеками, по идее, должен суметь .amr -> .mp3
    Ответ написан
    Комментировать
  • Имеет ли смысл полный рабочий день для программиста? Производительность труда?

    UZER2006
    @UZER2006
    Предоставьте интересные задачи, нормальные условия на рабочем месте, адекватных сотрудников, найдите на это место человека, которому будет интересно работать – и 20-часовой рабочий день будет обходиться в копейки. Это если утрировать.
    Вообще сама по себе длительность рабочего дня мало на что влияет. Но в случае монотонной или просто не очень интересной работы меньший рабочий день теоретически должен быть эффективнее.
    Ответ написан
    Комментировать
  • Как избежать вложенного цикла и вообще по-человечески сделать?

    UZER2006
    @UZER2006
    А у вас есть возможность превратить оба массива в ассоциативные с ключом по полю 'a'?
    Типа вот так
    Array ( 
            [art1] => Array ( [b] => 15 ) 
            [art2] => Array ( [b] => 25 ) 
            [art3] => Array ( [b] => 35 ) 
            )
    

    Тогда действительно всё можно будет решить одним циклом, делая поиск в массивах по ключу.
    Если такой возможности нет – не думаю, что существуют методы быстрее вложенных циклов. Разве что как-то упорядочить оба массива так, чтобы найти соответствие конкретной записи из одного массива в другом можно было быстрее, чем перебором.
    Если в обеих массивах нет повторений (1-й записи из первого массива может соответствовать не более одной записи из второго, и наоборот) – ещё как вариант оптимизации можно после каждого прохода удалять строчки из второго массива. Есть вероятность небольшого ускорения за счёт возможного ускорения каждой следующей итерации.
    Ответ написан
    1 комментарий
  • Технологии для вебчата (платформа PHP и JS)?

    UZER2006
    @UZER2006
    В своё время сделал просто закрытый многопользовательский чат на базе Realplexor. Возможностей маловато пока (мне не хватило возможности поставить callback на внутренние события), но в целом остался доволен.
    Ответ написан
    4 комментария
  • Проблема с 301 редиректом?

    UZER2006
    @UZER2006
    Думается мне, что срабатывает ещё это правило
    # Статические страницы
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^/]*)/?$ index.php?module=PageView&page_url=$1 [L,QSA]
    RewriteRule ^/?$ index.php?module=MainView&page_url= [L,QSA]

    Что происходит, если убрать redirect'ы и перейти по тому же адресу /product_49.html?
    Попробуйте перенести раздел #перенос старых страниц выше и после редиректа тоже рубать по [L]
    Ответ написан
    2 комментария
  • Помогите составить запрос

    UZER2006
    @UZER2006
    В таком виде, как нужно вывести – нельзя. Можно сделать два JOIN'а, вытянуть все данные (опционально отфильтрованные по кодам категорий и товаров), а потом через foreach сформировать массив с нужной структурой (или, если выборка с сортировкой, сразу выводить, вставив внутрь foreach нужные if'ы).
    Но в случае больших объёмов данных нужно искать середину между количеством запросов и количеством данных за один запрос. Например, вытянуть категории и в цикле для каждой вытаскивать товары с вариантами.
    Ответ написан
    Комментировать