PHP历理 获取指定目录下所有文件的名称

<link rel="stylesheet" href="/_/_js/layui/css/layui.css">
<?php
session_start();
define('CHAOYI',true);
require  $_SERVER['DOCUMENT_ROOT'].'/_/_php/data/database.php';
require ROOT.'_php/data/common.php';
require ROOT.'_php/data/config.php';

/**
 * 获取指定目录下所有文件的名称(带扩展名)
 * 若目录不存在或不可读,返回提示文字
 * 若目录中没有文件,返回提示文字
 */
function getAllFiles(string $path) {
    $realPath = realpath($path);
    if ($realPath === false || !is_dir($realPath) || !is_readable($realPath)) {
        $endPath = end(explode('/', rtrim(str_replace(['\\', '/'], '/', $path), '/')));
        return "指定的目录 '{$path}' 不存在或不可读,在指定的目录创建 '{$endPath}' 文件夹";
    }
    $path = rtrim($realPath, DIRECTORY_SEPARATOR);
    $fileNames = [];
    $iterator = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS),
        RecursiveIteratorIterator::LEAVES_ONLY
    );
    foreach ($iterator as $file) {
        if ($file->isFile()) {
            $fileInfo = new SplFileInfo($file->getPathname());
            $fileNames[] = $fileInfo->getFilename();
        }
    }
    if (empty($fileNames)) {
        return "指定目录中未找到任何文件";
    }
    return $fileNames;
}
var_dump(getAllFiles('F:\ICbA/Z/Z11/svg/0009/'));
mysqli_close($conn);
?>
<script src="/_/_js/layui/layui.js"></script>
<script src="/_/_js/base.js"></script>

效果图:
01

posted @ 2025-08-16 23:02  onestopweb  阅读(10)  评论(0)    收藏  举报