Php 从目录中读取文件名

Php 从目录中读取文件名,php,html,Php,Html,我想从没有任何数据库的目录中读取html文件名。我有一个代码,它工作正常,但它给出了两个空白名称,而我的目录中只有4个文件 <?php if (is_dir('dir')) { if ($dh = opendir('dir')) { while (($file = readdir($dh)) !== false) { echo "filename:".$file."<br />"; } } }?> 但我发现了两个额外的文件名: file

我想从没有任何数据库的目录中读取html文件名。我有一个代码,它工作正常,但它给出了两个空白名称,而我的目录中只有4个文件

<?php
 if (is_dir('dir')) {
if ($dh = opendir('dir')) {
    while (($file = readdir($dh)) !== false) {
        echo "filename:".$file."<br />";
    }
}
}?>
但我发现了两个额外的文件名:

filename:.
filename:..
filename:aaaaaa kjnnk_13.html
filename:aaaaaa kjnnk_2.html
filename:aaaaaa kjnnk_6.html
filename:aaaaaa kjnnk_9.html
请帮忙。是指当前目录 .. 是一个目录了吗

当使用readdir时,您将获得这两个额外值

我更喜欢使用glob()。该函数还允许您过滤html文件

<?php
   $files = glob('dir/*html');
   foreach($files as $file) {
       echo "filename:".$file."<br />";
   }
?>

。是指当前目录 .. 是一个目录了吗

当使用readdir时,您将获得这两个额外值

我更喜欢使用glob()。该函数还允许您过滤html文件

<?php
   $files = glob('dir/*html');
   foreach($files as $file) {
       echo "filename:".$file."<br />";
   }
?>

或者,您可以使用默认情况下跳过点文件的选项:

$it = new FilesystemIterator('dir');
foreach ($it as $fileinfo) {
    echo $fileinfo->getFilename() . "<br/>";
}
$it=newfilesystememitter('dir');
foreach($fileinfo){
echo$fileinfo->getFilename()。“
”; }
stackoverflow中的更多答案:


或者,您可以使用默认情况下跳过点文件的选项:

$it = new FilesystemIterator('dir');
foreach ($it as $fileinfo) {
    echo $fileinfo->getFilename() . "<br/>";
}
$it=newfilesystememitter('dir');
foreach($fileinfo){
echo$fileinfo->getFilename()。“
”; }
stackoverflow中的更多答案:


如果($file!='.&&&$file!='..)
感谢您的回复…但是在哪里添加您的条件?可能在
echo
之前?请参阅文档中的第二个示例,这正是您想要的。(和..是代表当前目录和父目录的两个文件夹)。
if($file!='.&&&$file!='..)
谢谢您的回复…但是在哪里添加您的条件?可能在
echo
之前?请参阅文档中的第二个示例,这正是您想要的。(和..是表示当前目录和父目录的两个文件夹)。但如果是php文件,则为$files=glob('dir/*php');如果是php文件,则为$files=glob('dir/*php'))