在目录中查找文件

| 我有一个包含很多文件的目录:
pic_1_79879879879879879.jpg
pic_1_89798798789798789.jpg
pic_1_45646545646545646.jpg
pic_2_12345678213145646.jpg
pic_3_78974565646465645.jpg
etc...
我只需要列出pic_1_文件。知道我该怎么办吗? 提前致谢。     
已邀请:
打开的目录功能将为您提供帮助
$dir =\"your path here\";

$filetoread =\"pic_1_\";
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
               if (strpos($file,$filetoread) !== false)
                echo \"filename: $file : filetype: \" . filetype($dir . $file) . \"\\n\";
            }
            closedir($dh);
        }
    }
祝你好运,请参阅php.net opendir     
使用glob()函数
foreach (glob(\"directory/pic_1_*\") as $filename) {
  echo \"$filename\";
}
只需将全局调用中的
directory
更改为正确的路径即可。 与抓取文件列表然后进行过滤相比,这一切都可以一口气完成。     
这是glob()的作用:   glob —查找与模式匹配的路径名 例:
foreach (glob(\"pic_1*.jpg\") as $file)
{
    echo $file;
}
    
使用
scandir
列出目录中的所有文件,然后使用
preg_grep
获得与您要查找的模式匹配的文件列表。     
这是手册中的示例之一 http://nz.php.net/manual/zh/function.readdir.php
<?php
if ($handle = opendir(\'.\')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != \".\" && $file != \"..\") {
            echo \"$file\\n\";
        }
    }
    closedir($handle);
}
?>
您可以修改该代码以测试文件名,以查看文件名是否以pic_1_开头 使用这样的东西
if (substr($file, 0, 6) == \'pic_1_\')
手册参考 http://nz.php.net/manual/zh/function.substr.php     

要回复问题请先登录注册