У меня вопрос по php include. Здесь идет существующий код, который у меня есть.
<?php
srand();
$files = array("folder/content1.php", "folder/content2.php", "folder/content3.php", "folder/content4.php");
$rand = array_rand($files);
include ($files[$rand]);
?>
Этот код на самом деле работает очень хорошо для меня сейчас, так как контент отображается случайным образом. Но я хотел бы получить что-то лучше. Потому что, используя этот код, я каждый раз добавляю новый контент, такой как content5.php
, content6.php
и так далее, я должен потрудиться обновить код выше, чтобы сделать новый content.php
появляются.
Есть ли какое-либо решение, которое я могу иметь, чтобы не беспокоить код выше каждый раз, когда я добавляю новый content.php
и новый content.php
появляется автоматически при добавлении? Является ли это возможным?
Обновлено: новый код тестирования (тестирование снова не выполнено, часть страницы пропадает)
<?php
$sDirectory = 'myfolder';
if( is_dir( $sDirectory ) )
{
$rDir = opendir( $sDirectory );
while( ( $sFile = readdir( $rDir ) ) !== FALSE )
{
if( ( $sFile == '.' ) || ( $sFile === '..' ) )
{
continue;
}
$aFiles[] = $sDirectory . '/' . $sFile;
}
}
$sRandom = array_rand( $aFiles );
require_once( $aFiles[ $sRandom ] );
?>
$sDirectory = 'includes';
if( is_dir( $sDirectory ) )
{
$rDir = opendir( $sDirectory );
while( ( $sFile = readdir( $rDir ) ) !== FALSE )
{
if( ( $sFile == '.' ) || ( $sFile === '..' ) )
{
continue;
}
$aFiles[] = $sDirectory . '/' . $sFile;
}
}
$sRandom = array_rand( $aFiles );
require_once( $aFiles[ $sRandom ] );
Других решений пока нет …