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

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

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

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    IP Адрес сервера
    PHP:
    echo($_SERVER['SERVER_ADDR']);
    IP Адрес клиента
    PHP:
    echo($_SERVER['REMOTE_ADDR']);
    Перед использованием функции date и подобных - нужно установить локаль

    PHP:
    setlocale(LC_ALL'ru_RU.CP1251');
    вроде так
     
    #11581 FireFenix, 7 Sep 2009
    Last edited: 7 Sep 2009
  2. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    нужно чтобы выводился именно евоный ip? а эти две команды отображают один и тот же ip
     
  3. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Ну ёпт..... ты же небось тестируешь на локальной машине?
    естесно Айпи твоего сервера будет равен айпи клиента!!!
     
  4. Dr1ver

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

    Joined:
    20 Aug 2008
    Messages:
    83
    Likes Received:
    80
    Reputations:
    14
    Почему-то был уверен, что так и будет :D :D :D , в общем ставь второй вариант и это будет TRUE
     
  5. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    Блин точно.... чё то мне в голову не пришло это (
     
  6. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    А насчёт вывода текущего времени можно поподробнее?
     
  7. Insane bboy

    Insane bboy New Member

    Joined:
    11 Jul 2009
    Messages:
    52
    Likes Received:
    3
    Reputations:
    0
    как вычислить время между двумя датами? берется две строки из лога(тхт файл формата: время действие), парсю эти строки так что получается две переменные
    $time_2 и $time_1 равные соответственно 05:57:30(пять утра, 57минут 30 секунд) и 05:54:42 как вычислить разницу в минутах между этими двумя датами?
    и еще один вопрос, где то видел но не могу найти, как удалить 1 символ с конца строки?
     
    #11587 Insane bboy, 7 Sep 2009
    Last edited: 7 Sep 2009
  8. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Чтобы вычислить дату переведи ее в Unix формат:
    Вычти одну от другой и дели результат на
    3600 чтоб узнать разницу в часах
    60 в минутах
     
  9. VladZombie

    VladZombie New Member

    Joined:
    18 Apr 2009
    Messages:
    47
    Likes Received:
    2
    Reputations:
    0
    насчёт вывода времени я чё та не догоняю (( я php очень плохо знаю.
    Ещё вопрос имеется: можно ли с командой
    взять определёную строку? а не весь текст
     
  10. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    include - это подключение php-кода в ходе выполнения, чтобы получить строчку N нужно:

    PHP:
    <?php
    $contents 
    file("file.txt");
    echo 
    $contents[$N-1]; // нумерация строк идёт с нуля
    ?>
     
  11. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    PHP:
    $time_s strtotime(date("10:30:10"));
    $time_l strtotime(date("H:i:s"));
    $time_r =($time_s -$time_l)/60;
    echo 
    $time_r// выведет сколько прошло в часах
    Вроде так, писал тут и не проверял..
     
  12. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    Народ подскажите как выдрать капчу с контакта средствами пхп???

    понятно что в заголовках приходит ссид капчи
    preg_match('#csid=(.*?)"#',$cont,$capthca);
    вытаскиваю его обращаюсь к картинке а он мне хер!
    типа ошибка доступа

    в чем проблема?
     
  13. Insane bboy

    Insane bboy New Member

    Joined:
    11 Jul 2009
    Messages:
    52
    Likes Received:
    3
    Reputations:
    0
    я написал вычисление разницы с помощью mktime, одна проблема разница выходит в секундах, к примеру 8934сек и тд:) еще один глупый вопрос, как это сделать обратно в 01:23:05(часы:минуты:секунды разделять не обязательно ":" просто для наглядности написал) если я допустип это делю на 60 то ответ приходит в формате десятичной дроби
     
  14. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11

    PHP:
    <?php
    /**
     * Переводим кол-во секунд в понятный человеку формат
     * 
     * @param integer $sec - Количество секунд
     * @return string - Строка в Human-Friendly формате
     */
    function format_time($sec) {
     
    $a = array(
      
    86400 => 'day'// количество секунд в сутках
      
    3600  => 'hour'// количество секунд в часе
      
    60    => 'min'// количество секунд в минуте
      
    1     => 'sec' // количество секунд в секунде
     
    );
     
    $out '';
     foreach (
    $a as $k=>$v) {
      
    $tmp floor($sec/$k);
      
    $out .= ($tmp?$tmp.$v.' ':'');
      
    $sec -= $tmp*$k;
     }
     return 
    $out;
    }
    ?>
    Пример использования:


    PHP:
    <?php
    echo format_time(924234);
    ?>
     
  15. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    А кукисы в запросе подставляешь?
     
    _________________________
  16. FeraS

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

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    Есть скрипт:
    PHP:
    function getGoogleIdx($site) {
    $buf file_get_contents('http://www.google.com/search?hl=en&q=site:' $site);

    if (
    preg_match('!of\sabout\s<b>(.*?)</b>\sfrom!ism',$buf$match)) {
     return(
    str_replace(','''$match[1]));
    }
    else {return(
    0);}
    }
    На локалке запускаю — работает, заливаю на хостинг (PHP 5.2.5) — не пашет (т.е. 0 выводит).

    Скажите, в какую сторону думать)
    Может у хостера что-либо запрещено в php.ini, отчего функция не работает, если да, то что именно.

    Спасибо.
     
  17. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    хех дело было в амперсанте )
    я его не как "&" отдавал а как amp; =)
     
  18. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    error_reporting(1)

    ошибки дает?
     
    1 person likes this.
  19. FeraS

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

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    svesve
    Вообще ничего, даже 0 не выводит)
     
  20. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    ну тут только если у хостера URL file-access = disabled

    попробуй у себя на локалке в php.ini поставь
    URL file-access в disabled

    и проверь
     
Thread Status:
Not open for further replies.