我有这段代码,但它显示的是index.php本身如何过滤* .php文件?
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
$thelist .= '<LI><a href="'.$file.'">'.$file.'</a>';
}
}
closedir($handle);
}
?>
<P>Dir:</p>
<UL>
<P><?=$thelist?></p>
</UL>
还有一种方法可以通过修改或创建时间对它们进行排序吗?
答案 0 :(得分:2)
只需在忽略“。”的部分添加另一个排除项。和'..'如:
if ($file != "." && $file != ".." && !preg_match('/\.php$/i', $file))
这将排除最后带有.php的任何文件。
答案 1 :(得分:2)
这是使用 ksort 或 krsort 功能(已测试)的另一种功能。
(见代码中的评论。)
<?php
// you can add to the array
$ext_array = array(".htm", ".php", ".asp", ".js"); //list of extensions not required
$dir1 = ".";
$filecount1 = 0;
$d1 = dir($dir1);
while ($f1 = $d1->read()) {
$fext = substr($f1,strrpos($f1,".")); //gets the file extension
if (in_array($fext, $ext_array)) { //check for file extension in list
continue;
}else{
if(($f1!= '.') && ($f1!= '..')) {
if(!is_dir($f1)) $filecount1++;
$key = filemtime($f1);
$files[$key] = $f1 ;
}
}
}
// use either ksort or krsort => (reverse order)
//ksort($files);
krsort($files);
foreach ($files as $f1) {
$thelist .= '<LI><a href="'.$f1.'">'.$f1.'</a>';
}
?>
<P>Dir:</p>
<UL>
<P><?=$thelist?></p>
</UL>
答案 2 :(得分:1)
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != ".." && substr(strrchr($file,'.'),1) != 'php')
{
$thelist .= '<LI><a href="'.$file.'">'.$file.'</a>';
}
}
closedir($handle);
}
?>
答案 3 :(得分:1)
(我建的一点东西)
这将显示带扩展名的文件名以及文件计数(已测试)
<?php
// you can add to the array
$ext_array = array(".htm", ".php", ".asp", ".js");
//list of extensions not required (above)
$dir1 = ".";
$filecount1 = 0;
$d1 = dir($dir1);
while ($f1 = $d1->read()) {
$fext = substr($f1,strrpos($f1,".")); //gets the file extension
if (in_array($fext, $ext_array)) { //check for file extension in list
continue;
}else{
if(($f1!= '.') && ($f1!= '..')) {
if(!is_dir($f1)) $filecount1++;
$thelist .= '<LI><a href="'.$f1.'">'.$f1.'</a>';
}
}
}
// add text and count number below files
echo "Total files in folder: ";
echo "$filecount1";
?>
<P>Dir:</p>
<UL>
<P><?=$thelist?></p>
</UL>