Построчное чтение txt файла

Тема в разделе "Как сделать...", создана пользователем zilon, 22 фев 2013.

  1. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    подскажите пожалуйста как сделать построчное чтение файла, сейчас рандомное чтение файла и вывод строчки, а как построчное сделать :nezn:

    PHP:
    <?php
     
    echo "<meta http-equiv=\"refresh\" content=\"60;URL=http://new-muzon.ru/OPEN_URLS2.php\">";
     
    ?>
     
     
    <?php
     
    $data
    =file("/home/newmuzo/data/www/new-muzon.ru/OPEN_URLS2.txt");
    $c=1;
    $out=mt_rand(1count($data) - $c);
    $sad=$out+$c;
    for(
    $i $out$i $sad$i++) {
    $file="$data[$i]";
    $content=file_get_contents($file);
    $result $content;
    echo 
    $result;
     
     
    }
     
    if (
    $result == true)
     
    {
     
    $per="/r/n";
    $datee date("Y-d-m H:m:s");
    $fp fopen("/home/newmuzo/data/www/new-muzon.ru/CRON_CHECK2.txt""a");
    $mytext "Трек открылся - $datee\r\n $file";
     
    $test fwrite($fp$mytext);
    fclose($fp);
     
    }
     
     
     
    ?>
     
  2. bok2007

    bok2007 Создатель

    Регистр.:
    23 май 2008
    Сообщения:
    20
    Симпатии:
    5
    Не понял что должен этот скрипт делать. Но что попросил, отвечу.

    PHP:
    <?php
     
    $data
    =file("/home/newmuzo/data/www/new-muzon.ru/OPEN_URLS2.txt");
     
    for(
    $i 0$i count($data); $i++) {
        
    $file $data[$i];
        
    $content file_get_contents($file);
        
    $result $content;
        echo 
    $result;
    }
     
    if (
    $result == true) {
        
    $datee date("Y-d-m H:m:s");
        
    $fp fopen("/home/newmuzo/data/www/new-muzon.ru/CRON_CHECK2.txt""a");
        
    $mytext "Трек открылся - ".$datee."\r\n $file";
        
    $test fwrite($fp$mytext);
        
    fclose($fp);
    }
     
    ?>
    Вывод результата $result в браузер будет идти от 1 до последней строки, но if обрабатывает только последнюю строку OPEN_URLS2.txt (такая логика в оригинале), а не все что в файле.

    Вот второй вариант, где обрабатываются все строки в if'е.

    PHP:
    <?php
     
    $data
    =file("/home/newmuzo/data/www/new-muzon.ru/OPEN_URLS2.txt");
     
    for(
    $i 0$i count($data); $i++) {
     
        
    $file $data[$i];
        
    $content file_get_contents($file);
        
    $result $content;
        echo 
    $result;
     
    if (
    $result == true) {
        
    $datee date("Y-d-m H:m:s");
        
    $fp fopen("/home/newmuzo/data/www/new-muzon.ru/CRON_CHECK2.txt""a");
        
    $mytext "Трек открылся - ".$datee."\r\n $file";
        
    $test fwrite($fp$mytext);
        
    fclose($fp);
    }
     
    }
     
    ?>
     
    zilon нравится это.
  3. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    я хотел, чтоб загружалась страница из списка, через 60 секунд, загружалась следующая страница из списка, и так далее, и так пока все не загрузятся...
     
  4. bok2007

    bok2007 Создатель

    Регистр.:
    23 май 2008
    Сообщения:
    20
    Симпатии:
    5
    Тут надо счетчик внедрять.

    PHP:
    <?php
     
    echo "<meta http-equiv=\"refresh\" content=\"60;URL=http://new-muzon.ru/OPEN_URLS2.php\">";
     
    // создать файл /home/newmuzo/data/www/new-muzon.ru/NUM_URLS2.txt внутри которого 1 строка с цыфрой 0
     
    $num file("/home/newmuzo/data/www/new-muzon.ru/NUM_URLS2.txt");         
     
    $data file("/home/newmuzo/data/www/new-muzon.ru/OPEN_URLS2.txt");       
     
    if (
    $num[0] == count($data)) {
        
    //$num[0] = 0;
        
    exit("Прошли все строки");
    }
     
    $file $data[$num[0]];
    $content file_get_contents($file);
    $result $content;
    echo 
    $result;
     
    if (
    $result == true) {
        
    $datee date("Y-d-m H:m:s");
        
    $fp fopen("/home/newmuzo/data/www/new-muzon.ru/CRON_CHECK2.txt""a");
        
    $mytext "Трек открылся - ".$datee."\r\n $file";
        
    $test fwrite($fp$mytext);
        
    fclose($fp);
    }
     
    $num[0]++;
     
    $fpt fopen("/home/newmuzo/data/www/new-muzon.ru/NUM_URLS2.txt""w+");
    fwrite($fpt$num[0]);
    fclose($fpt);
     
    ?>
    Надеюсь правильно написал, не проверял. В этом варианте проходит все строки, а далее скрипт не выполняется. Если надо что бы он после прохода всех строк начал заново, то надо раскомментировать строку
    //$num[0] = 0;
    и закомментировать
    exit("Прошли все строки");

    Комментирование это знаки //
     
    zilon нравится это.