Автоматическое создание страниц следующего и предыдущего типа с помощью glob - PullRequest
0 голосов
/ 13 октября 2011

Попытка сделать так, чтобы функция glob отображала только первые 10 результатов (текстовые файлы из папки), а затем автоматически следующие 10 с помощью следующей кнопки.

В настоящее время я использовал array_slice для отображения только первых 10, но я не уверен, как автоматизировать процесс.

foreach(array_slice(glob("*.txt"),0,9) as $filename) {
   include($filename); }

Ох, и пока я на этом, если возможно, отобразите что-то вроде "показ 1-10" и последних / первых ссылок. Я, наверное, сам смогу понять это после того, как преодолею первое препятствие, так что не беспокойтесь об этом, если это не очень простое решение.

1 Ответ

0 голосов
/ 13 октября 2011

То, что вы пытаетесь выполнить, называется нумерацией страниц.Из вашего примера вы можете динамически выбрать, какую десятку вы просматриваете, установив переменную, которая определяет, с какого номера (файла) начинать.

Пример:

<?php
$start = isset( $_GET['start']) ? intval( $_GET['start']) : 0;

$glob_result = glob("*.txt");
$num_results = count( $glob_result);

// Check to make sure the $start value makes sense
if( $start > $num_results)
{ 
    $start = 0;
}

foreach( array_slice( $glob_result, $start, 9) as $filename) 
{
     include( $filename); // Warning!
}

Если вы хотите толькочтобы сделать приращение 10, вы можете добавить проверку, чтобы убедиться, что $start делится на 10, что-то вроде этого после того, как $start извлечено из массива $_GET:

$start = ( $start % 10 == 0) ? $start : 0;

Теперь, дляссылки, все, что вам нужно сделать, это вывести <a> теги с правильно установленным параметром запуска.Вам нужно будет поработать над логикой, чтобы правильно вычислить следующее и предыдущее значения, но вот простой пример:

$new_start = $start + 10;
echo '<a href="page.php?start=' . $new_start . '">Next</a>';

Редактировать: Как видно из приведенных выше комментариев, вы, вероятно, нехотите include() эти файлы, поскольку include() попытается интерпретировать эти файлы как сценарии PHP.Если вам просто нужно получить содержимое текстовых файлов, используйте file_get_contents .

...