如何从显示目录文件中删除点

时间:2018-01-10 01:51:38

标签: php mysqli

我的输出显示点,所以我想删除点

<?php
include 'config.php';
if(isset($_POST['btn-upload']))
{    
$log_directory = ('/XAMPP/htdocs/mydoc');
$results_array = array();
if (is_dir($log_directory))
{
        if ($handle = opendir($log_directory))
        {
                while(($file = readdir($handle)) !== FALSE)
                {
                        $results_array[] = $file;
                }
                closedir($handle);
        }
}
foreach($results_array as $value)
{
    echo $value . '<br />';
}
}
?>

但输出

I want to throw the dots..

任何删除点的解决方案?

2 个答案:

答案 0 :(得分:1)

readdir()总是返回“。” &安培; “..”。所以你只需要验证并跳过它们,如手册的例子#2所示

<?php
if ($handle = opendir('.')) {
    while (false !== ($entry = readdir($handle))) {
        if ($entry != "." && $entry != "..") {
            echo "$entry\n";
        }
    }
    closedir($handle);
}
?>
     

http://php.net/manual/en/function.readdir.php

导致

[...]
        if ($handle = opendir($log_directory))
        {
                while(($file = readdir($handle)) !== FALSE)
                {
                    if ($file != "." && $file != "..") {
                        $results_array[] = $file;
                    }
                }
                closedir($handle);
        }
[...]

答案 1 :(得分:0)

您可以尝试使用array_diff删除这些点。

$results_array = array_diff($results_array, ['.','..']);