You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JS获取XAMPP服务器指定目录下的文件名以开发相册应用

实现方案

前端JavaScript没有直接读取服务器端文件目录的权限,你需要先通过PHP提供返回图片列表的接口,再用前端JS请求接口数据渲染页面即可,具体实现步骤如下:

1. 编写PHP接口返回图片列表

在你的项目根目录下新建get_images.php文件,代码如下:

<?php
// 此处填写你实际存储图片的目录,你提的是photos目录就改为'photos/'
// 注意你现有上传代码中存储的是images/目录,需保持路径一致
$image_dir = 'images/';
$allowed_ext = ['jpeg', 'jpg', 'png'];
$image_list = [];

// 遍历目录筛选符合要求的图片
foreach (scandir($image_dir) as $file) {
    // 跳过系统默认的.和..目录
    if ($file === '.' || $file === '..') continue;
    $file_ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
    if (in_array($file_ext, $allowed_ext)) {
        $image_list[] = $image_dir . $file;
    }
}

// 以JSON格式返回图片列表
header('Content-Type: application/json');
echo json_encode($image_list);
?>

2. 前端JS拉取列表渲染图片

在你现有HTML代码的</body>标签前加入如下JS代码:

<script>
window.addEventListener('load', async () => {
    const albumContainer = document.querySelector('.photoalbum');
    try {
        // 请求图片列表接口
        const response = await fetch('get_images.php');
        const images = await response.json();
        
        // 遍历生成图片元素插入页面
        images.forEach(imgPath => {
            const li = document.createElement('li');
            const img = document.createElement('img');
            img.src = imgPath;
            // 可自定义调整图片样式
            img.style.width = '200px';
            img.style.margin = '8px';
            li.appendChild(img);
            albumContainer.appendChild(li);
        })
    } catch (e) {
        console.error('图片列表加载失败:', e);
    }
})
</script>

注意事项

  • 需保证图片存储目录有读取权限,XAMPP环境下如果出现权限报错,给对应photos/images目录开启可读权限即可
  • 如果你需要修改图片存储目录,要同时修改上传逻辑中move_uploaded_file的存储路径和接口里的$image_dir参数,保持二者路径一致
  • 也可以直接把图片列表的逻辑写在原有的album.php文件中,通过参数判断是处理上传还是返回列表,减少接口文件数量

内容的提问来源于stack exchange,提问作者Lurking

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:36:05