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

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

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

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

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    мда. проверять файл это или папка регуляркой это ты загнул.. тем более, а если я папку назову my.dir она у тебя определится как файл :)
    PHP:
    $files=array();
    $folders=array();
    $bk = array('index.php''dir1''s.php''dir3''b.php''x.php');
    foreach(
    $bk as $name)
    if(
    is_dir($name)) $dirs[] = $name
    else if(
    is_file($name)) $files[] = $name
    else echo 
    "ЭТО ЖЕ ЛИНК!";
     
    #12161 gisTy, 10 Oct 2009
    Last edited: 10 Oct 2009
  2. wildshaman

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

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    2гисти:

    $files[] = $name;
     
    3 people like this.
  3. L I G A

    L I G A Banned

    Joined:
    27 Jul 2008
    Messages:
    482
    Likes Received:
    380
    Reputations:
    49
    спс,как то не подумал про встроенные функции.
     
  4. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Сабж, возник вопрос... Есть код
    PHP:
    $str '\101\102\103\104';
    Именно апострофы, а не кавычки используются. Как из этой строки вытянуть строку ABCD?
     
  5. Vlad&slav

    Vlad&slav Member

    Joined:
    1 Jan 2009
    Messages:
    207
    Likes Received:
    41
    Reputations:
    9
    Как мне мой скрипт прально написать а то я новичёк

    PHP:
    <?
    $dn date("j")*60*60*24;
    $chas date("G")*60*60;
    $min date("i")*60;
    $sec date("s")*1;
    $ndata $dn $chas $min $sec
    $sdata file_get_contents("clock.txt");
    $delta $ndata $sdata;
    $time 60*60*24*// лимит 3 дня
    if($delta $time){

    // выполняем обновление

    $file fopen("clock.txt","w+");
    fwrite($file,$ndata);
    fclose($file);
    }else{
    echo 
    "Обновить базу будет можно только через ".$delta."секунд.";
    }
    ?>
     
  6. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    mailbrush, например, так
    PHP:
    $str preg_replace ('/\\\(\d{1,3})/e''chr(0\\1)'$str);
     
    2 people like this.
  7. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9

    я бы сделал так

    $data=time();
    $oldtime=file("iclock.txt");

    if (($oldtime[0]+(60*60*24*3))<$data) // 3 дня
    {
    // выполняем обновление

    $aaa= fopen('iclock.txt', 'w+');
    fwrite($aaa,time());
    fclose($aaa);
    } else {
    cho "Обновить базу будет можно только через ".$delta."секунд.";
    }
     
  8. REBUUS

    REBUUS Active Member

    Joined:
    6 Apr 2009
    Messages:
    314
    Likes Received:
    111
    Reputations:
    9
    ой т.е

    echo "Обновить базу будет можно только через ".($data-$oldtime[0])."секунд.";
     
  9. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    UNIX-time: 1255237657

    Как перевести в ...

    2009:10:11:08:30:36
    (год:месяц:день:час:минута:сек)
     
  10. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    PHP:
    echo date ('Y:m:d:H:i:s'1255237657);
     
    1 person likes this.
  11. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    krypt3r, спасибо )
    Обратный вопрос:

    2009:10:11:08:30:36
    (год:месяц:день:час:минута:сек)

    Как перевести в ...

    UNIX-time: 1255237657
     
  12. gisTy

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

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    http://www.php.su/functions/?date
     
    1 person likes this.
  13. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    geforse Более менее универсально так:
    PHP:
    $date '2009:10:11:08:30:36';
    $date preg_replace('!^(\d{2,4}):(\d{2}):(\d{2}):(\d{2}:\d{2}:\d{2})$!','$1-$2-$3 $4',$date);
    echo 
    strtotime($date);
    На невиндосах можно использовать strptime()
     
    _________________________
    #12173 Gifts, 11 Oct 2009
    Last edited: 11 Oct 2009
    1 person likes this.
  14. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    PHP:
    $str1 "\160\160\160";
    echo 
    $str1//выводит ppp
    $str2 '\160\160\160';
    Как вывести ppp с помощью $str2? Или что это за тип, это ведь не char, ибо chr(160) не выводит "p".
     
    #12174 mailbrush, 11 Oct 2009
    Last edited: 12 Oct 2009
  15. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    Ну какбы строку
    Code:
    \[0-7]{1,3}
    PHP воспринимает как восьмиричное число...
    160(8)=112(10)
    chr(112)='p';
     
    #12175 Gray_Wolf, 11 Oct 2009
    Last edited: 11 Oct 2009
  16. harom

    harom New Member

    Joined:
    15 Jan 2009
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    оценка голосов

    пишу скрипт голосования и не могу понять как это должно происходить:

    ситуация как здесь

    объясните, как можно вывести лучший ответ в самом верху а все остальные(без лучшего) ниже.
    есть для каждого ответа переменная $reyting


    никакого кода писать не нужно(что легко даётся, то не запоминается), просто человеческим языком
     
  17. Genry13

    Genry13 New Member

    Joined:
    19 May 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Есть сайт, с него надо брать контент, выделять некоторую часть, обрабатывать(минимизировать и представлять в таблицах) и отдавать в файл. Вопрос: как это лучше всего реализовать(в частности процесс обработки)?
     
  18. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    2harom
    Ну самый простой вариант, просто при выводе ответы упорядочить по рейтингу, а не по дате.
    Ну или добавляем доп. логическое поле в базу "best_solution", и делаем упорядочивание сначала по нему, а потом по дате...

    2Genry13 почитайте о регулярных выражениях, они всё сделают за вас.
     
    2 people like this.
  19. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    PHP:
    mktime (8303610112009);
     
  20. Genry13

    Genry13 New Member

    Joined:
    19 May 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Тогда такой вопрос,допустим в исходнике страницы перед каждым блоком, который до я собираюсь вырезать(все блоки с разным содержимым), присутствует:
    перед первым -
    Code:
    <a href='http://www.google.ru/'>Гугля</a>
    перед вторым -
    Code:
    <a href='http://www.yandex.ru/'>Яндекс</a>
    перед третьим -
    Code:
    <a href='http://www.phpfaq.ru/'>ЧаВо</a>
    Каждый блок заканчивается одинаковыми тегами, например
    Code:
    </td></table>
    Т.о. как задать фильтр, что бы попадать именно на то, что между необходимыми тегами? Можно ли это сделать за один "проход-прорезание", или необходим цикл с несколькими условиями?
     
Thread Status:
Not open for further replies.