以下のコードは、指定されたフォルダーからすべてのphpファイルを選択し、それらをシャッフルして、ページに10個の結果をエコーします。フォルダーには、結果から除外したいindex.phpファイルが含まれています。
<?php
if ($handle = opendir('../folder/')) {
$fileTab = array();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$fileTab[] = $file;
}
}
closedir($handle);
shuffle($fileTab);
foreach(array_slice($fileTab, 0, 10) as $file) {
$title = str_replace('-', ' ', pathinfo($file, PATHINFO_FILENAME));
$thelist .= '<p><a href="../folder/'.$file.'">'.$title.'</a></p>';
}
}
?>
<?=$thelist?>
index.phpを除外するコードを見つけましたが、上記のコードに組み込む方法がわかりません。
<?php
$random = array_values( preg_grep( '/^((?!index.php).)*$/', glob("../folder/*.php") ) );
$answer = $random[mt_rand(0, count($random) -1)];
include ($answer);
?>