Ответы пользователя по тегу PHP
  • Обработка базы данных IP адресов с помощью PHP

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Если не критично по БД, то лучше использовать PostgreSQL - у них даже тип данных для этого есть, а искать одно удовольствие.

    Если же важен MySQL, то проще хранить 5 полей - 4 октета и количество бит в маске. А простейшую логику реализовывать уже самому.
    Ответ написан
  • Распределенное хранилище изображений

    difiso
    @difiso
    В параллельной вселенной я космонавт
    А почему не сделать простую БД на точке входа, в которой будет храниться путь до картинки (или хотябы имя сервера)? Поиск все равно будет производиться, но на правильно сделаной базе искать придется намного меньше, и работать будет намного быстрее.
    Ответ написан
  • Как реализовать хранение друзей в БД?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    А что если хранить немного по другому?

    Например не создавать дублирующую запись в обратную сторону, а изначально использовать еще одно поле в троичной системе счисления: ± 1 когда один пользователь добавил другого (знак указывает направление заявки) и 0 когда заявка подтверждена.

    Тогда запрос будет один на выборку пары, а состояния отозвать/принять заявку и удалить из друзей будут определяться знаком числа в дополнительном поле.

    Из очевидных плюсов. Места занимать будет примерно в два раза меньше — мелочь, а приятно.
    Минусов не сразу не соображу.
    Ответ написан
    3 комментария
  • Правка PHP скрипта, в роутере Asus, за вознаграждение?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Судя по скриптам, снятие снятие блокировки происходит удалением файлов биллинга, поэтому попробуйте

    в коде файла billing.php измените строки

    $yesterday = date("Y-m", time()-300);
    if (date("Y-m") != $yesterday) {
    

    на строки

    $yesterday = date("Y-m-d", time()-300);
    if (date("Y-m-d") != $yesterday) {

    Обосную. В этом if выполняется удаление файлов с данными о использованном трафике. При их отсутствии должна сниматься блокировка. В данный блок можно попасть если только 5 минут назад было не тот же месяц и год, что сейчас (наступил следующий месяц). Поэтому для снятия блокировки ежедневно, необходимо проверять еще день. То есть "Y-m" надо заменить на "Y-m-d", что позволит выполнять удаление файлов каждый день. Ну и мой предыдущий ответ про cron тоже надо учесть.
    Ответ написан
  • Правка PHP скрипта, в роутере Asus, за вознаграждение?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Сам скрипт менять не надо. Достаточно поменять время сброса блокировки. Читайте статью до места
    Все лимиты задаются целыми числами.
    пользователю дано 1750МБ входящего, 275МБ исходящего трафик и 2010МБ суммарного трафика (входящий+исходящий). При достижении пользователем хотя бы одного из ограничений он будет отключен.
    В этот файл можно не вписывать всех пользователей, если мы не хотим задавать для них лимит.

    + Необходимо настроить кроны:
    В кронтаб добавить:

    */5 * * * * root cd /opt/share/www/statistic/ &&  /opt/bin/php ./limit.php > /dev/null 2>&1
    1 0 1 * * root /user/local/sbin/makefilter
    


    Необходимо поменять строку

    1 0 1 * * root /user/local/sbin/makefilter
    


    на ( для сброса в полночь)

    0 0 * * * root /user/local/sbin/makefilter
    
    Ответ написан
  • Как перевести комментарии в *.php файлах ?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Я думаю что проще всего, на таких объемах, выучить китайский написать скрипт: выдираем коммент, спрашиваем гугл и ответом гугла заменяем или дополняем коммент в файле.
    Ответ написан
    1 комментарий
  • Взаимодействие клиент - сервер

    difiso
    @difiso
    В параллельной вселенной я космонавт
    POST-данные передаются правильно, что говорит var_dump($_POST)?
    Ответ написан
    1 комментарий
  • Нужен совет по созданию первой страницы сайта

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Это называется ClearUrl.

    Для apache примерно так (взято откуда-то из гугла):

    <Directory /var/www/example.com>
       RewriteEngine on
       RewriteBase /
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    </Directory>
    

    В файл index.php(можно и blablabla.php, как в RewriteRule напишите) придет GET параметр q (можно и page, на вкус и цвет, в общем), который вы будете обрабатывать.

    То есть для данного примера будет следующее:
    example.com/price приведет к вызову сервером уже example.com/index.php?q=price.

    Таким образом example.com/price, example.com/?q=price и example.com/index.php?q=price эквивалентны для сервера, а что подавать пользователю, я думаю вы догадаетесь :)
    Ответ написан
    Комментировать
  • Нужен простой генератор отчетов с дизайнером?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    Может это немного поможет github.com/djpate/docxgen + какой-нибудь docx2pdf
    Ответ написан