Чтение и вывод информации из 100 файлов

296
31 мая 2017, 06:47

Свой вариант, вопрос остался:

$dir = "./radio/radio_stantion/";
$name = scandir($dir);
for($i=2; $i<=(sizeof($name)-1); $i++) {
$fopen=file( $dir.$name[$i] );
$line = $fopen[3];
$url = $fopen[2];
$radio_name = explode(") ", $line);
$radio_url = explode("//", $url);
$link = $radio_url[1];
$http = explode(":", $link);
$fff = $http[1];
$port = explode("/", $fff); 
echo $radio_name[1]."<br/>";
echo $http[0]."<br/>";
echo $port[0]."<br/>";
}

Выводится: FRESH 105.9 FM IBADAN s4.voscast.com 8442 Bestfriend FM 178.32.62.172 8217 SmoothJazz 149.56.155.209 80 и тд из 100 файлов...

Вопрос остался: Как теперь взять по отдельности

Block1: $ radio_name1(FRESH 105.9 FM IBADAN), $ http1(s4.voscast.com), $ port1(8442);
Block2: $ radio_name2(Bestfriend FM), $ http2(178.32.62.172 ), $ port2(8217);
Block3: $ radio_name3(SmoothJazz), $ http3(149.56.155.209), $ port3(80 ).

?

Answer 1

Можешь к примеру с помощью регулярного выражения получить все эти файлы, а потом обработать их в цикле.

$NAME_PATTERN = '!\.(txt)$!i';
$MAIN_DIR = './radio/radio_stantion/';
$arFiles = Array();
$mainDirFiles = scandir($MAIN_DIR);
foreach ($mainDirFiles as $file)
{
  if (preg_match($NAME_PATTERN, $file))
  {
    $arFiles[] = $MAIN_DIR.$file;
    //можно обработать прямо в цикле
    $fopen=file( $file );
    $line = $fopen[3];
    $url = $fopen[2];
    $radio_name = explode(") ", $line);
    $radio_url = explode("//", $url);
    $link = $radio_url[1];
    $http = explode(":", $link);
    $fff = $http[1];
    $port = explode("/", $fff); 
    echo 'file: ' . $file;
    echo 'name:' . $radio_name[1];
    echo 'host:' . $http[0];
    echo 'port:' . $port[0];
  }
}

Теперь в $arFiles массив с именами всех файлов txt в данной папке, можешь перебрать их в цикле. Или же прям в цикле с регулярным выражением как в примере выше.

READ ALSO
Интринсик intrinsic(_BitScanForward)

Интринсик intrinsic(_BitScanForward)

Как использовать интринсик

462
Шифр цезаря (посимвольный ввод)

Шифр цезаря (посимвольный ввод)

Всем доброго времени сутокИмеется файл с форматом txt

378
Как правильно унаследовать istream / ostream?

Как правильно унаследовать istream / ostream?

Ну вообщем цель такова, чтобы в функцию можно было передать либо обьект моего класса, либо же cout , cin

388