如何自动生成 WordPress 上传目录中所有图片的路径列表文件
本文介绍一种安全、可靠且无需编程基础的方法,通过轻量级 WordPress 插件自动扫描 wp-content/uploads 目录,生成包含完整文件路径(或 URL)的 CSV/TEXT 文件,便于后续导入 Excel 进行商品批量上架。全程基于 WordPress 原生函数,不依赖外部脚本或手动

本文介绍一种安全、可靠且无需编程基础的方法,通过轻量级 WordPress 插件自动扫描 wp-content/uploads 目录,生成包含完整文件路径(或 URL)的 CSV/TEXT 文件,便于后续导入 Excel 进行商品批量上架。全程基于 WordPress 原生函数,不依赖外部脚本或手动 FTP 操作。
处理WordPress电商或内容站点时,一个常见的痛点来了:如何把成百上千张上传好的图片,快速整理成一份可供批量操作的文件清单?手动去`wp-content/uploads`目录里一个个复制路径,不仅效率低下,还容易出错。
当然,你可能会想到用PHP的`scandir()`或者写个Python脚本去遍历。但这里有个关键问题:直接操作服务器文件系统,绕过了WordPress自身的抽象层,很容易踩坑。比如,你的站点用了CDN、配置了符号链接,或者是多站点网络,手动获取的路径很可能和WordPress实际使用的路径对不上。更不用说,直接在服务器上执行外部脚本,本身就存在权限和安全风险。
其实,WordPress早就为你准备好了更优解——内置的`list_files()`函数。这个函数专为递归扫描目录、标准化路径而生,并且内置了安全性校验。不过,它通常只在后台管理环境中可用。好消息是,我们可以基于它,构建一个既安全又省事的自动化方案。
✅ 推荐方案:使用专用插件自动生成清单文件
下面要介绍的,是一个即用型WordPress插件——WP File List Creator。它的核心就是基于`list_files()`函数,不修改WordPress核心文件,不暴露任何敏感接口,并且完美兼容WP Engine、SiteGround这类对权限管理比较严格的主机环境。
? 快速部署步骤(三分钟完成)
- 复制插件代码:将下文提供的完整代码块内容全部复制;
- 新建文件:使用纯文本编辑器(比如VS Code、Notepad++,切记不要用Microsoft Word)新建一个文件,粘贴代码,保存为`file-list-creator.php`;
- 按需配置:找到代码中`new WP_File_List_Creator([...])`的部分,根据下表说明调整里面的参数;
- 上传激活:
- 常规插件方式:进入WordPress后台 → 「插件」→ 「安装插件」→ 「上传插件」,选择刚才保存的文件,然后激活;
- MU插件方式(推荐,更稳定):通过FTP将文件上传到`wp-content/mu-plugins/`目录(如果该目录不存在,需要手动创建)。
? MU 插件优势:这种方式下插件会自动加载、无法被意外禁用,也能避免与其他插件冲突,非常适合在生产环境中长期稳定运行。
⚙️ 核心配置说明(修改此处即可适配你的需求)
| 参数 | 示例值 | 说明 |
|---|---|---|
| 'folder' | wp_get_upload_dir()['basedir'] | 默认指向 wp-content/uploads,可改为绝对路径如 /var/www/html/wp-content/my-images/ |
| 'file_name' | 'image-list' | 输出文件名(不含扩展名),生成 image-list.csv 或 image-list.txt |
| 'extensions' | ['jpg','png','webp'] | 仅列出指定格式,避免混入 .txt、.pdf 等非图片文件 |
| 'levels' | 3 | 扫描深度:WordPress 默认按年/月分目录(如 /2024/06/xxx.jpg),设为 3 可覆盖;若关闭月度归档,设为 1 即可 |
| 'exclusions' | ['ai-generated', 'temp'] | 排除特定子目录(如插件自建文件夹),避免干扰主图列表 |
| 'list_type' | 'paths' | 输出内容:'paths'(服务器绝对路径)、'urls'(可直接访问的网页地址)、'both'(双列) |
| 'file_type' | 'csv' | 推荐 csv(Excel 友好),分隔符默认为 ;,兼容中文路径 |
? 生成效果示例(CSV 格式)
PATH;URL /var/www/site/wp-content/uploads/2024/06/product-a.jpg;https://yoursite.com/wp-content/uploads/2024/06/product-a.jpg /var/www/site/wp-content/uploads/2024/06/product-b.png;https://yoursite.com/wp-content/uploads/2024/06/product-b.png
✅ 智能更新机制:这里有个贴心设计。插件会自动比对上传目录、插件文件本身以及最终输出文件的最后修改时间。只有在上传目录里的文件确实有新增或删除时,它才会重新生成清单文件,从而有效避免不必要的磁盘读写开销。
⚠️ 注意事项与最佳实践
- 权限安全:默认生成的清单文件权限是0644(公开可读)。如果你不希望这个文件被直接通过浏览器访问(比如防止爬虫轻易获取所有图片地址),只需在配置中将`'private'`参数设为`true`,文件权限就会变为0600(仅服务器进程可读)。
- 路径一致性:所有路径都通过`ABSPATH`和`site_url()`动态生成,这意味着它能100%兼容多站点、子目录安装、HTTPS强制跳转等各种复杂配置,确保拿到的路径就是WordPress实际使用的路径。
- 性能保障:底层的`list_files()`函数经过WordPress官方优化,即使面对数万个文件也能稳定运行。当然,出于稳妥考虑,首次生成时建议避开网站访问流量高峰时段。
- VBA 导入提示:当你在Excel中使用「数据 → 从文本/CSV」功能导入生成的CSV文件时,关键一步是选择分隔符为「分号 ;」,同时编码选择「UTF-8」。这样就能完美识别包含中文的路径和URL了。
? 进阶定制(可选)
- 如果需要定时刷新清单(例如每天凌晨自动更新一次),可以在插件激活后,到WordPress后台的「工具」→ 「站点健康」→ 「信息」→ 「调度事件」里,搜索`admin_init`来确认其触发是否正常。更灵活的做法是配合「WP Crontrol」这类插件来添加自定义的定时任务。
- 如果希望直接导出为Excel原生的`.xlsx`格式,一个简单的方法是先用Excel打开CSV文件,然后使用「另存为」功能选择`.xlsx`格式。或者在VBA宏中,直接调用`Workbooks.OpenText`方法来解析CSV文件。
总的来说,这个方案的优势在于,它彻底规避了其他方法的常见痛点:比如用Python模拟登录可能遇到的验证码或两步验证问题、FTP操作中的权限麻烦,以及直接执行PHP脚本的安全风险。你只需要完成一次配置,就能获得一份持续更新、准确可靠、并且可供审计的图片资源索引表,为后续高效的批量商品上架或内容管理打下坚实的基础。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















