Ответы пользователя по тегу HTML
  • Как реализовать полосу загрузки от чиста n до числа n2?

    LINKeRxUA
    @LINKeRxUA
    web dev
    <?php
      $max = 150; //(mb) максимально возможное значение === 100%
     $cur = 1.48; //(mb) текущее значение
     $percent = ( $cur * 100 / $max );
     var_dump( "процент спользования %:", $percent ) ;
     echo( PHP_EOL );
     var_dump( "Осталось доступно %:", 100 - $percent ) ; 
     echo( PHP_EOL );
     var_dump( "А это в мегабайтах:", $max - ($max * $percent / 100) ) ;



    Код

    string(40) "процент спользования %:"
    float(0.98666666666667)

    string(34) "Осталось доступно %:"
    float(99.013333333333)

    string(10) "А это в мегабайтах:"
    float(148.52)

    Bootstrap для отображения
    Ответ написан
    Комментировать
  • Электронный товар. Или как продавать ключи?

    LINKeRxUA
    @LINKeRxUA
    web dev
    Пфф.. Какой вопрос - такой и ответ:
    Каждый пользователь имеет свой ID в базе так же как и товар

    пароль доступа может быть сгенерирован по определенному набору переменных + подсолить на всякий... Пример:
    const ACCESS_SALT = 'UBGYKUASO^B^NDbfsud67tydgiwe67';
    $access_key = md5( md5( $userID . $itemID . ACCESS_SALT ) . $userID);
    Ответ написан
    Комментировать
  • Как распараллелить процессы php?

    LINKeRxUA
    @LINKeRxUA
    web dev
    Я бы делал так:
    Сперва собрать в таблицу БД коллекцию ссылок для обработки парсером. По завершению - не через file_get_html() а через мультипоточный cURL запросить контент и сохранить его в базу. По завершению - в цикле пробежаться по таблице и порциями в 20 записей выбирать id не обработанных парсером записей и тем же мультикурлом запросить другой урл для обработки, к примеру "/parser.php?id=1" .../parser.php?id=20"
    Каждый из 20 запросов будет работать паралельно.

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

    И между прочем расставьте метки времени в своем коде для профилирования и отсчета времени на операцию. и вы будете знать наверняка, что заняло больше времени.
    Ответ написан
    Комментировать