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

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

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

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    С книг
     
  2. N@b$ter

    N@b$ter Elder - Старейшина

    Joined:
    6 Oct 2009
    Messages:
    290
    Likes Received:
    70
    Reputations:
    21
    Если под этими языками ты имеешь виду php то вот тебе видеокурс http://rutracker.org/forum/viewtopic.php?t=2828019
     
  3. Andres

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

    Joined:
    4 Apr 2008
    Messages:
    320
    Likes Received:
    119
    Reputations:
    0
    какой там блядь видеокурс
    совсем уже отупели вижу
     
  4. 2pick

    2pick Elder - Старейшина

    Joined:
    17 Mar 2007
    Messages:
    117
    Likes Received:
    38
    Reputations:
    2
    Обновил php с 5.1 на 5.2. теперь не обрабатываются скрипты начинающиеся с <?, а вот <?php обрабатываются наура. Подскажите что нужно подшаманить, чтоб обрабатывались и так и так.
     
  5. Miixxa

    Miixxa New Member

    Joined:
    17 Jul 2007
    Messages:
    19
    Likes Received:
    0
    Reputations:
    0

    Если отправлять напрямую через FormSubmit.php , то пишет "sent=success" Но письма не приходят на ящик... в чем может быть проблема?

    // Gifts: прекратите добавлять говно в конец поста
     
    #19445 Miixxa, 31 Oct 2011
    Last edited by a moderator: 31 Oct 2011
  6. Player#1

    Player#1 Member

    Joined:
    11 Nov 2008
    Messages:
    95
    Likes Received:
    35
    Reputations:
    10
    2pick
    в php.ini
    short_open_tag = On
     
  7. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,546
    Likes Received:
    173
    Reputations:
    75
    Вот возник вопрос, допустим есть строка

    gпппп@mail.ru:ооооооо

    как мне заменить данные например на

    Login=gпппп&Domain=mail.ru&Password=ооооооо&level=0

    учитывая то што в строке @ и : будут присудствовать точно а всё остальное может быть разное
     
  8. kravch_v

    kravch_v Member

    Joined:
    1 Sep 2011
    Messages:
    134
    Likes Received:
    43
    Reputations:
    1
    PHP:
    <?
    $login = "gпппп";
    $domain = "mail.ru";
    $password = "ооооооо";

    $ch = curl_init("http://blablabla.ru");
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "Login=".urlencode($login)."&Domain==".urlencode($domain)."&Password=".urlencode($password)."&level=0");
    curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $res_index  = curl_exec($ch);
    ?>
    З.Ы. Не врубился, что ты хочешь :D
     
    #19448 kravch_v, 31 Oct 2011
    Last edited: 31 Oct 2011
  9. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,546
    Likes Received:
    173
    Reputations:
    75
     
  10. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    С буков.
    PHP:
    function ex($string, $from, $to)
    {
    $string = explode($from, $string, 2);
    $string = explode($to, $string[1], 2);
    return 
    $string[0];
    }

    $string = 'gпппп@mail.ru:ооооооо';
    $domain = ex($string, '@', ':');
    list(,
    $pass) = explode(':', $string);
    list(
    $login) = explode('@', $string);
    $chislo = ex($o, '<td class="tbl-row2" nowrap align="center">', '</td>');
    $result = 'Login='.$login.'&Domain='.$domain.'&Password='.$pass&level=0
    Заменой, в принципе, тоже можно:
    PHP:
    $string = 'gпппп@mail.ru:ооооооо';
    $string = str_replace('@', '&Domain=', $string);
    $string = str_replace(':','&Password=', $string);
    result = 'Login='.$string;
    Еще есть один вариант с регуляркой из серии "регулярки не для этого".

    ЗЫ: у тебя в этом треде 167, предположительно, вопросов, а такие вещи вызывают трудности, как так?
     
    #19450 AnGeI, 31 Oct 2011
    Last edited: 31 Oct 2011
  11. Melfis

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

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    PHP:
    $data = "sdfsdf.sdfsdf@mail.ru:sdfsdf_3543#";
    $newStr = preg_replace('/([\w-\.]+)@([\w-\.]+):(.+)/', "Login=$1&Domain=$2&Password=$3&level=0", $data);
    регулярка работает 100% на php, perl, js.

    AnGeI, у тя уже в этом треде столько постов, а всё никак не доберёшься до регулярок.
     
    1 person likes this.
  12. Fooog

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

    Joined:
    19 Sep 2008
    Messages:
    309
    Likes Received:
    170
    Reputations:
    12
    Удалить строку

    И так. Навоял скрипт для вывода директорий и папок в папке где будет находиться скрипт.
    Но тут возник вопрос, как сделать что бы выводились только директории?
    Решил реализовать это поиском строки с точкой и ее удалением.
    Визуально, всё правильно, но не работает.
    Можете помочь со скриптом?

    PHP:
    $dir = system("pwd");   //задаём имя директории
        
    if(is_dir($dir)) {   //проверяем наличие директории
             
    echo $dir.' - директория существует;<br>';
             
    $files = scandir($dir);    //сканируем (получаем массив файлов)
             
    array_shift($files); // удаляем из массива '.'
             
    array_shift($files); // удаляем из массива '..'
        
    $tochka = strstr('.'); // ищем строку с точкой
        
    unset($tochka); // удаляем строку
             
    for($i=0; $i<sizeof($files); $i++) echo ' '.$files[$i].'<br>'; //выводим все файлы
    }
        else echo 
    $dir.' -такой директории нет;<br>';
     
  13. Konqi

    Konqi Green member

    Joined:
    24 Jun 2009
    Messages:
    2,248
    Likes Received:
    1,148
    Reputations:
    886
    PHP:
    $ls = scandir(getcwd());

     foreach (
    $ls as $item)
     
      if (
    is_dir($item) && $item!="." && $item!="..")
       
         echo 
    $item."<br>";
     
    _________________________
    1 person likes this.
  14. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    такой вопрос:
    как в php получить дату и время, удовлетворяющую формату mysql DATETIME, которые были час назад? текущую я так получаю
    PHP:
    $time=date("Y-m-d H:i:s");
    а как 1 час назад?
     
  15. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    realcoder
    PHP:
    <?php
      $loc_time 
    = time ();
      echo 
    'Текущее время: ', date ('Y-m-d H:i:s', $loc_time), "\n";
      
    $time = $loc_time - 3600;
      echo 
    'Время час назад (вар. 1): ', date ('Y-m-d H:i:s', $time), "\n";
      
    $time = strtotime ('-1 hour', $loc_time);
      echo 
    'Время час назад (вар. 2): ', date ('Y-m-d H:i:s', $time), "\n";
    ?>
     
  16. Boolean

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

    Joined:
    5 Sep 2010
    Messages:
    147
    Likes Received:
    83
    Reputations:
    78
    Регулярки не для этого.

    Code:
    1 Вариант(str_replace): 
    Результат: Login=gпппп&Domain=mail.ru&Password=ооооооо&level=0
    1.3113021850586E-5
    
    2 Вариант(preg_replace): 
    Результат: Login=gпппп&Domain=mail.ru&Password=ооооооо&level=0
    2.5934509277344E-5
    
    PHP:
    <?php
    header
    ('Content-Type: text/plain; charset=windows-1251');


    $start = microtime(true);
    print 
    "1 Вариант(str_replace): \nРезультат: " . 
            
    GetResults_1() . "\n" .  (microtime(true) - $start) . "\n\n";
            
    $start2 = microtime(true);
    print 
    "2 Вариант(preg_replace): \nРезультат: " . 
            
    GetResults_2() . "\n" .  (microtime(true) - $start2) . "\n";           


    /**
     * Вариант AnGeI 
     */
    function GetResults_1(){
        
    $string = 'gпппп@mail.ru:ооооооо';
        
    $string = str_replace('@', '&Domain=', $string);
        
    $string = str_replace(':','&Password=', $string);
        return 
    $result = 'Login='.$string.'&level=0';      
    }
    /**
     * Вариант Melfis
     */
    function GetResults_2(){
        
    $data = "gпппп@mail.ru:ооооооо";
        
    $newStr = preg_replace('/([\w-\.]+)@([\w-\.]+):(.+)/', "Login=$1&Domain=$2&Password=$3&level=0", $data);
        return 
    $newStr;
    }
    ?>
     
    1 person likes this.
  17. Melfis

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

    Joined:
    25 Apr 2011
    Messages:
    505
    Likes Received:
    105
    Reputations:
    53
    Пффф, просвети же, а для чего? Реальная задержка будет при 10к + строк(1 секунда), у него явно будет только одна.
     
    #19457 Melfis, 1 Nov 2011
    Last edited: 1 Nov 2011
  18. plaeer

    plaeer New Member

    Joined:
    8 Mar 2011
    Messages:
    149
    Likes Received:
    3
    Reputations:
    1
    Есть файл с ссылками, нужно всё что в нём есть вывести в инпут. Вот сам написал:
    PHP:
    $list=file_get_contents("D:/list.txt");
    echo 
    "<input name=news type=text value=".$list.">";
    увы, выводит только первую строку.
     
  19. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    396
    Likes Received:
    79
    Reputations:
    16
    plaeer, не может такого быть, file_get_contents возвращает содержимое файла целиком, безопасна для обработки данных в двоичной форме. Так что урезаться там ничего не может.

    Вопрос: устанавливаются cookies до конца сессии, сама сессия сохраняется session.gc_maxlifetime, сколько она будет существовать, если постоянно отправлять соответственные cookies для данной сессии, по идее она должна продлеваться.
     
    #19459 AnGeI, 1 Nov 2011
    Last edited: 1 Nov 2011
  20. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    AnGeI ответ - не менее чем gc_maxlifetime плюс возможно некоторое дополнительное время сверху. При доступе к странице у соответствующего файла сессии будет обновляться atime.
     
    _________________________
Thread Status:
Not open for further replies.