我有关于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 ] );
?>
答案 0 :(得分:1)
$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 ] );