2014-12-30 3 views
0

я использую этот код:Php Включить: как включить много страниц, увеличивающихся?

<?php include("news/news05.php"); ?> 
<?php include("news/news04.php"); ?> 
<?php include("news/news03.php"); ?> 
<?php include("news/news02.php"); ?> 
<?php include("news/news01.php"); ?> 

Есть ли способ, чтобы увеличить включение автоматически? например, если я добавлю в свой файл новую страницу под названием «news06.php»?

Кстати, есть ли способ включить много страниц с одной строкой?

Благодарим за помощь.

Benj

+0

Попробуйте использовать цикл for или sth. аналогично и помнить последнее число, а затем увеличивать. – cb0

+0

Вы используете числовое значение в конце имени файла –

+0

Приветствую вас, Извините, я проверял электронную почту, ожидая ответов, и я ничего не получил, затем я вернулся сюда, чтобы проверить, и я вижу много комментариев и ответов! Большое спасибо всем, что я изучу каждый ваш ответ, и, конечно же, я смогу понять этот процесс. –

ответ

0

U можно использовать itteration для этого

отл.

<?php 
    for ($i=5;$i > 0; $i--) { 
     include('news/news'.str_pad($i, 2, '0', STR_PAD_LEFT).'.php'); 
    } 
+0

Вы не имеете в виду 'str_pad()'? – Rizier123

+0

Да, только что отредактировал это. Спасибо :) – DarkBee

1

Вы могли бы использовать это решение:

<?php 
for ($i = 1; $i <= 6; $i++) { 
    $fname = "news/news0{$i}.php"; 
    if (file_exists($fname)) { 
     include($fname); 
    } 
} 
?> 

Просто изменить его ближе к вам нужно ...

+0

у вас есть ошибка ';' символов. –

+0

@ dovy и где? Не вижу ошибок – Rizier123

+0

dovy не использует ';' –

0

Это должно работать для вас:

<?php 

    $files = 6; 

    for($count = 1; $count <= $files; $count++) 
     require_once"news/news" . sprintf("%02d", $count) . ".php"; 

?> 
1

Когда у меня есть для этого я использую это:

$files = glob('news/news*[0-9].php', GLOB_BRACE); 
natcasesort($files); 
foreach ($files as $newsFile) { 
    require_once($newsFile); 
} 

Более подробная информация на PHP: glob function manual

+1

** Опасайтесь ** это выберет все файлы, начинающиеся с новостей, таких как' newsreader.php', 'news1.php' и т. д. который вы, возможно, не захотите включить – krishna

+0

Это получит любой файл, соответствующий новостям * (news_.php, news042.php и т. д.). Вы можете использовать выражения, чтобы избежать неожиданных файлов. – mend3

+1

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

0
<?php 
for ($i = 1; $i <= 100; $i++) { 
    if([email protected]("news/news".$i.".php")) { 
     break; 
    } else { 
     include("news/news".$i.".php"); 
    } 
} 

Что-то вроде этого

+0

Мне не нравится это решение как другой, но, возможно, вы хотите заменить 'continue;' на 'break;' – Federkun

1

Там нет никакого способа, чтобы написать один включают включают мульти файлы

Поместите все включает в один файл и включите его, или создать петлю для этого

Но, по-моему, держите его простым и напишите одну строку для каждого файла

0

UPDATE

Основываясь на ваш комментарий, скажем, у вас есть News10, и вы все еще хотите страницы с 0 на основе как news01 для одиночных чисел разрядов (менее 10), так что вы можете добавить этот простой если условие для достижения вашей потребности:

<?php 
for ($i=10;$i > 0;$i--){ 
    if ($i <10) 
     $i = "0$i"; 
    include("news/news$i.php"); 
} 
?> 

Вы можете использовать цикл так:

<?php 
for ($i=6;$i > 0;$i--){ 
    include("news/news0$i.php"); 
} 
?> 

индекс исправить здесь вы можете прочитать его из файла db или xml, если хотите сохранить значение вне сценария.

+0

Не знаете, что переменные обрабатываются в одинарных кавычках? – Rizier123

+0

sry my bad, я попробовал эхо-включение include перед публикацией здесь. –

+0

Большое спасибо Aram, этот ответ приятный, но что, если я вызову свой файл «news10.php»? –