как отобразить первые N файлов из каталога - PullRequest
1 голос
/ 07 ноября 2019

Для плоского файла новостей я сохраняю все данные в .txt файлах. Список всех файлов .txt находится в каталоге messages Чтобы получить все заголовки новостей (2-я строка каждого файла txt), которые я используюa foreach:

foreach($pagenewsmsgs as $file){
    // open and prepare newsmessage
    $newsmsg = 'messages/';
    $newsmsg .= $file;
    $fh = fopen($newsmsg, 'r');
    $txtnewsmsg1 = file_get_contents($newsmsg);
    $txtnewsmsg = stripslashes($txtnewsmsg1);                                               
    // get data out of txt file                             
    $lines = file($newsmsg, FILE_IGNORE_NEW_LINES);// filedata into an array                                                
    $news_title = $lines[1]; //  news title                                                             
    echo $news_title.'<br />'; // echo all the title from each .txt file

    fclose($fh);

} // end foreach

Этот цикл повторяет заголовок всех файлов .txt. Как я могу повторить название только первых 5 .txt файлов?

Ответы [ 2 ]

3 голосов
/ 07 ноября 2019

Установите счетчик и выйдите из цикла, когда он достигнет пяти:

$counter = 0;
foreach($pagenewsmsgs as $file) {
    // do stuff
    $counter++;
    if(5 == $counter) {
        break;
    }
}
3 голосов
/ 07 ноября 2019

возможно, используйте array_slice с параметром length, чтобы выбрать нужное подмножество элементов:

foreach(array_slice($pagenewsmsgs, 0, 5) as $file){
    [...]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...