[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Пусть чувак сходит в C++ раздел, пусть ему тама прогу напишут которая запускается с параметром -text и вносит этот text в буфер, а их PHP выполнять system("programm.exe -add to bufer");
    ИМХО :)
     
  2. Meanor

    Meanor Elder - Старейшина

    Joined:
    9 Sep 2007
    Messages:
    66
    Likes Received:
    9
    Reputations:
    0
    Доброго дня, я столкнулся с одной проблемой в пхп, но не знаю, существует ли вообще ее решение на пхп...
    Проблема: нужно чтобы каждые 8 сеунд переменная в бд заменялась на, скажем, rand(0,6) (для примера).

    А также, как можно сделать обновление чата? (как заставить фрейм с сообщениями обновиться со стороны сервера?)
    Спасибо ^^
     
  3. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Кроме как скриптом, который пускается с консоли и в бесконечном цикле засыпает, обновляет переменную и опять засыпает ты это не сделаешь. Даже задачи крона не могут выполняться чаще чем одна минута.

    Никак. Используй хидер Refresh чтобы инициировать обновление в определённые промежутки времени:

    Code:
    header("Refresh: 5; index.php");
    Заставит обновляться страницу один раз в пять секунд и при этом подгружать index.php. Это будет продолжать до тех пор, пока клиент не закроет браузер или не потеряет соединение с веб-сервером.
     
    1 person likes this.
  4. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Пример:
    PHP:
    <?php
    set_time_limit
    (0); //Чтоб работал бесконечно
    ignore_user_abort(); //Ещё раз чтоб работал бесконечно  :) 
    while(!file_exists("stop_refresh.txt")) { //Будет работать пока не создаш файл stop_refresh.txt
       
    blablabla(); //Заносим в БД rand(0,6)
       
    sleep(8); //Засымаем на 8 сек
    }
    ?>
    Чесн говоря не совсем понял... В смысле как обновлять у юзверей сообщения? Ябы посоветовал не обновлять (т.к. будет хавать много трафика) а поддерживать коннект с юзверем (пример mpchat.com) или с помощью Ajax сделать чтобы скрипт каждые 10 сек например подключался на сервер и если есть новые сообщения, выводил их юзверю ИМХО :)
     
  5. lsass.exe

    lsass.exe Elder - Старейшина

    Joined:
    5 Aug 2007
    Messages:
    156
    Likes Received:
    161
    Reputations:
    24
    зачем так сложно,тогда уж
    PHP:
    <?
    set_time_limit(0);
    while(
    1)
    {
    $query
    sleep
    (8);
    }
    ?>
     
  6. gergi

    gergi New Member

    Joined:
    18 May 2007
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    есть код
    require_once "mysql_connect.php";
    $r =mysql_query('SELECT `id` FROM `women` WHERE `citi` = "'.$_REQUEST['citi'].
    ' and `1home` > '.$_REQUEST['cenas'].
    ' and `1home` <'.$_REQUEST['cenam']) or die("По вашему запросу анкет не найдено.");

    for ($data=array(); $row= mysql_fetch_row($r); $data[] = $row);
    print_r( $data);


    Что выдаёт:
    Array([0]=> array([0]=>2)[1]=> array([0]=>5))

    Как сделать чтоб выдовал только значения 1 и 5 без array и =>&
     
  7. Dr.Z3r0

    Dr.Z3r0 Leaders of the World

    Joined:
    6 Jul 2007
    Messages:
    284
    Likes Received:
    595
    Reputations:
    567
    Code:
    require_once "mysql_connect.php";
    $r =mysql_query('SELECT `id` FROM `women` WHERE `citi` = "'.$_REQUEST['citi'].
    ' and `1home` > '.$_REQUEST['cenas'].
    ' and `1home` <'.$_REQUEST['cenam']) or die("По вашему запросу анкет не найдено.");
    
    for ($data=array(); $row= mysql_fetch_row($r); $data[] = $row);
    echo( $data[1].'|'.$data[5]);
    Вообщем идею я тебе подал ;)
     
    #587 Dr.Z3r0, 12 Oct 2007
    Last edited: 12 Oct 2007
  8. gergi

    gergi New Member

    Joined:
    18 May 2007
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    идея понятна. только при таком раскладе выводит
    Array|Array
     
  9. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    echo $data[0][0].' AND '.$data[1][0]; ?
     
  10. MegaDeth

    MegaDeth Elder - Старейшина

    Joined:
    8 Nov 2006
    Messages:
    192
    Likes Received:
    72
    Reputations:
    13
    gergi, массив значит у тя двумерный.
    Code:
    echo( $data[0][1].'|'.$data[0][5]);
    так попробуй
     
  11. gergi

    gergi New Member

    Joined:
    18 May 2007
    Messages:
    8
    Likes Received:
    1
    Reputations:
    0
    спасиб
     
  12. N0maD

    N0maD Member

    Joined:
    20 Jul 2007
    Messages:
    4
    Likes Received:
    5
    Reputations:
    0
    Вот вопрос: Подскажите самый кульный онлайн монитор.
     
  13. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    самописный/Webalizer
     
  14. N0maD

    N0maD Member

    Joined:
    20 Jul 2007
    Messages:
    4
    Likes Received:
    5
    Reputations:
    0
    Поделись сорцом
     
  15. Chifvv_59

    Chifvv_59 New Member

    Joined:
    10 Oct 2007
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    PHP:
    <?php phpinfo();?>
    Кто может подсказать как загнать в переменную часть результата выполнения данного скрипта, а именно:
    Code:
    USERNAME      ****
    Точнее в переменную нужно загнать:
    Code:
    ****
    Заранее благодарен.
     
  16. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    PHP:
    <?
    $text 'USERNAME      ****';
    $text2 preg_replace('|USERNAME\s+(.*)|''\\1'$text);
    echo 
    $text2;
    ?>
     
  17. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    phpinfo() засунуть в переменную можно так:

    Code:
    <?
    ob_start();                                                                                                       
    phpinfo();                                                                                                        
    $info = ob_get_contents();                                                                                        
    ob_end_clean();                                                                                                   
    ?>
    Псоле этого в переменной $info будет содержимое всего (!) вывода от phpinfo(). Если тебя интересует какая-то отдельная часть, используй в качестве параметров вызова phpinfo следующие флаги:

    INFO_GENERAL - общая информация о конфигарации серверног ПО и системы.
    INFO_CREDITS - разработчики данной версии PHP.
    INFO_CONFIGURATION - различные установки PHP.
    INFO_MODULES - загружаемые модуля и их конфигурация.
    INFO_ENVIRONMENT - переменные среды, которые также доступны через $_ENV.
    INFO_VARIABLES - показывает все утановленные переменные (окружения, сервера, куки, гет, пост).
    INFO_LICENSE - информация о лицензии.
    INFO_ALL - показать всё, что только можно.

    А высечь из всего полученного вывода нужную тебе информацию можно так:

    Code:
    if (preg_match('/USERNAME\s+(.*)/iu', $info, $match)) print($match[1]);
     
    1 person likes this.
  18. Chifvv_59

    Chifvv_59 New Member

    Joined:
    10 Oct 2007
    Messages:
    12
    Likes Received:
    1
    Reputations:
    0
    Большое спасибо
     
  19. ZET36

    ZET36 Elder - Старейшина

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    ребята неподскажите как поддлать referrer при сокет запросе


    непомогает

    и может быть это связано с тем что сраница на которую конектится сокет использует протокол https ?
     
  20. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Возможно, но ещё возможно, не правельно вписал. Должна быть одна n и в конце \r\n
    PHP:
    $headers .= "Referer: http://passport.yandex.ru\r\n";
     
Thread Status:
Not open for further replies.