显示某些文件夹内容

时间:2014-05-21 11:31:33

标签: php directory

是否可以仅显示网页中某个文件夹中的某些内容? 我设法使用了一个' php'使用readdir的脚本将所有文件夹内容显示为列表:

<?php
    $dir = opendir('y1');
    echo '<ul>';
    while ($read = readdir($dir))
    {
        if ($read!='.' && $read!='..')
        {
            echo '<li><a href="y1/'.$read.'"><span class="clicks">'.$read.'</span></a></li>';
        }
    }
    echo '</ul>';
    closedir($dir); 
?>

是否可以调整此代码,仅显示以字母“&n;”开头的所有文件?

3 个答案:

答案 0 :(得分:1)

是的,您可以使用substr来检查第一个字母。

<?php
$dir = opendir('y1');
echo '<ul>';
while ($read = readdir($dir))
{
    if (substr($read,0,1)=='n') //<--here
    {
        echo '<li><a href="y1/'.$read.'"><span class="clicks">'.$read.'</span></a></li>';
    }
}
echo '</ul>';
closedir($dir); 
?>

不再需要'.''..'的原始支票,因为它们不以n开头

答案 1 :(得分:0)

尝试这一个,以获取名称从files

开始的n

条件if ($read[0]=='n')就像这样

<?php
    $dir = opendir('y1');
    echo '<ul>';
    while ($read = readdir($dir))
    {
        if ($read[0]=='n')
        {
            echo '<li><a href="y1/'.$read.'"><span class="clicks">'.$read.'</span></a></li>';
        }
    }
    echo '</ul>';
    closedir($dir); 
?>

答案 2 :(得分:0)

您可以使用使用preg_match()regular expression,如果在字符串中找到pattern,则会返回true或false。

<?php
$dir = opendir('y1');
echo '<ul>';
while ($read = readdir($dir))
{
    if (preg_match("/^[n]/i", $read))
    {
        echo '<li><a href="y1/'.$read.'"><span class="clicks">'.$read.'</span></a></li>';
    }
}
echo '</ul>';
closedir($dir); 
?>

使用这意味着您可以调整代码以仅显示包含任何模式的文件。

例如以.png.jpg结尾的文件。