引言

技巧一:使用scandir()函数

<?php
$directory = 'path/to/your/directory'; // 替换为你的文件夹路径
$images = [];

if (is_dir($directory)) {
    if ($dir_handle = opendir($directory)) {
        while (($file = readdir($dir_handle)) !== false) {
            $file_path = $directory . '/' . $file;
            if (is_file($file_path) && preg_match('/\.(jpg|jpeg|png|gif)$/', $file)) {
                $images[] = $file_path;
            }
        }
        closedir($dir_handle);
    }
}

print_r($images);
?>

技巧二:使用glob()函数

<?php
$directory = 'path/to/your/directory'; // 替换为你的文件夹路径
$images = glob($directory . '/*.jpg', GLOB_BRACE);

print_r($images);
?>

在上面的代码中,我们使用glob()函数匹配以.jpg结尾的文件。GLOB_BRACE标志允许我们在模式中使用大括号。

技巧三:使用RecursiveDirectoryIteratorRecursiveIteratorIterator

<?php
$directory = new RecursiveDirectoryIterator('path/to/your/directory'); // 替换为你的文件夹路径
$iterator = new RecursiveIteratorIterator($directory, RecursiveIteratorIterator::SELF_FIRST);

$images = [];
foreach ($iterator as $file) {
    if ($file->isFile() && preg_match('/\.(jpg|jpeg|png|gif)$/', $file->getFilename())) {
        $images[] = $file->getPathname();
    }
}

print_r($images);
?>

总结