当前位置:

首页 > 编程开发 > 如何自动生成 WordPress 上传目录中所有图片的路径清单文件

如何自动生成 WordPress 上传目录中所有图片的路径清单文件

通过WordPress内置函数开发极简插件,自动扫描wp-content/uploads目录,生成含完整文件路径的TXT/CSV清单文件,便于Excel批量导入商品图链。全程基于原生函数,无需编程基础,安全可靠,不依赖外部脚本或登录模拟。

做电商WordPress站的朋友都知道,给几百个商品配图,光整理图片路径就能让人崩溃。手动在FTP里翻找,再一条条复制粘贴?太慢还容易出错。用Python脚本吧,又得处理模拟登录、权限、CSRF这些坑。其实,最好的办法就是利用WordPress自己提供的函数,写一个极简插件,自动把图片路径清单生成出来。这个方案无需编程基础,安全可靠——通过轻量插件自动扫描 wp-content/uploads 目录,生成含完整文件路径(或URL)的TXT/CSV文本文件,便于Excel批量导入商品图链。全程基于WordPress内置函数,不依赖外部脚本或登录模拟。

没错,就是本文要介绍的这套方案:无需编程基础、安全可靠的WordPress原生方案——通过轻量插件自动扫描 wp-content/uploads 目录,生成含完整文件路径(或URL)的TXT/CSV文本文件,便于Excel批量导入商品图链。全程基于WordPress内置函数,不依赖外部脚本或登录模拟。

如何自动生成 WordPress 上传目录中所有图片的路径清单文件

在电商类WordPress网站里,比如WooCommerce,给几百上千个商品批量上传图片并关联路径,是件常见但特别繁琐的事。手动整理wp-content/uploads下的图片路径,不仅耗时易错,而且FTP或主机后台直接浏览,很难导出结构化数据。这篇文章要介绍的就是一个零依赖、免写代码、开箱即用的专业级解决方案——通过定制化WordPress插件,全自动创建标准化文件清单。

✅ 核心优势:原生、安全、智能更新

这个方案完全基于WordPress官方函数list_files()(位于wp-admin/includes/file.php),兼容性和安全性都有保障。它只在WordPress后台初始化时触发(admin_init钩子),不暴露于前台、不开放远程访问、不需要用户名密码登录,彻底绕开了Python模拟登录失败、权限不足、CSRF阻断这些常见坑。

更值得说的是,插件自带智能缓存机制:只有当上传目录内容有变化(比如新增或删除了图片),或者插件文件本身被修改时,才会重新生成清单文件;否则直接跳过,避免无谓的I/O开销和覆盖风险。

? 快速部署三步走

  1. 复制并配置代码
    把下面这个精简版插件代码保存为file-list-creator.php(注意:UTF-8无BOM编码):
 wp_get_upload_dir()['basedir'], // 默认扫描 uploads 根目录
    'file_name'   => 'image-paths',                  // 输出文件名(不含扩展名)
    'extensions'  => ['jpg','jpeg','png','gif','webp','a vif','svg'], // 仅包含这些格式
    'file_type'   => 'txt',                          // 可选 'txt' 或 'csv'
    'list_type'   => 'paths',                        // 可选 'paths' / 'urls' / 'both'
    'location'    => 'uploads',                      // 保存位置:'uploads' 或 'root'(网站根目录)
    'separator'   => "\t",                           // TXT 文件分隔符(制表符更易粘贴到 Excel)
];

// ✅ 无需修改下方逻辑 —— 自动执行
add_action('admin_init', function() use ($settings) {
    if (!is_admin() || wp_doing_ajax() || !current_user_can('manage_options')) return;
    $target_dir = $settings['folder'];
    if (!is_dir($target_dir)) return;
    $output_file = ($settings['location'] === 'root' ? ABSPATH : wp_get_upload_dir()['basedir'] . '/')
                    . $settings['file_name'] . '.' . $settings['file_type'];
    // 智能判断是否需要更新:仅当 uploads 目录或插件文件更新后才重写
    $needs_update = !file_exists($output_file)
         || filemtime($target_dir) > filemtime($output_file)
         || filemtime(__FILE__) > filemtime($output_file);
    if (!$needs_update) return;
    $files = list_files($target_dir, 3, []); // 深度3:兼容年/月子目录结构
    if (empty($files) || !is_array($files)) return;
    $filtered = array_filter($files, function($f) use ($settings) {
        return is_file($f) && in_array(strtolower(pathinfo($f, PATHINFO_EXTENSION)), $settings['extensions']);
    });
    if (empty($filtered)) return;
    if ($settings['file_type'] === 'csv') {
        $fp = fopen($output_file, 'w');
        fputcsv($fp, [$settings['list_type'] === 'both' ? 'PATH' : 'PATH']); // 简化列头
        foreach ($filtered as $f) {
            $row = $settings['list_type'] === 'both'
                 ? [$f, str_replace(ABSPATH, site_url() . '/', $f)]
                 : [$f];
            fputcsv($fp, $row, ';');
        }
        fclose($fp);
    } else {
        $content = implode("\n", array_map(function($f) use ($settings) {
            return $settings['list_type'] === 'both'
                 ? $f . $settings['separator'] . str_replace(ABSPATH, site_url() . '/', $f)
                : $f;
        }, $filtered));
        file_put_contents($output_file, $content . "\n", LOCK_EX);
    }
    chmod($output_file, 0644); // 设为可读写(非私有)
});
  1. 安装插件

    • 进入WordPress后台 →「插件」→「安装插件」→「上传插件」→ 选择刚保存的file-list-creator.php
    • 点击「安装现在」→「启用插件」

    ? 提示:启用后无需任何操作,插件将在下次进入后台时自动运行并生成文件。

  2. 获取清单文件

    • 文件默认保存在wp-content/uploads/image-paths.txt(或.csv)
    • 通过FTP、主机文件管理器或WordPress插件(如WP File Manager)下载该文件
    • 在Excel中:「数据」→「从文本/CSV」导入 → 选择对应分隔符(TXT用制表符\t,CSV用分号;)→ 完成!

⚠️ 关键注意事项

  • 路径深度适配:如果你的站点启用了「按年月组织上传文件」(WordPress默认),请保持list_files()的levels参数≥3;如果已关闭此功能,可以设为1以提升性能。
  • 安全建议:生成的文件默认权限为0644(公开可读)。如果需要禁止直接浏览器访问(比如防止爬虫抓取),把代码中chmod($output_file, 0644)改为chmod($output_file, 0600)即可。
  • 扩展性说明:这个方案支持CSV格式(带表头)、多列输出(路径+URL)、自定义分隔符,完美适配Excel VBA批量处理需求。
  • 故障排查:如果没生成文件,先检查PHP错误日志;确认wp-content/uploads目录可写;临时禁用其他插件排除冲突。

? 总结

与其折腾不可靠的Python登录模拟,或者手动遍历服务器目录,不如采用WordPress原生、钩子驱动、权限可控的自动化方案。这个插件体积小(<2KB)、没有外部依赖、一次配置长期生效,真正实现“上传新图 → 后台刷新 → 清单就绪”的高效工作流。对于熟悉Excel/VBA的朋友,从此可以把image-paths.txt直接作为产品图链数据源,大幅提升上架效率。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 Word
相关文章 更多
Office三件套实战:Word+Excel+PPT高效协作工作流
Office三件套实战:Word+Excel+PPT高效协作工作流

本文通过“活动报名与费用汇报”真实案例,演示如何高效协同使用Word、Excel和PPT。从建立规范的项目文件夹开始,分别完成Word内容撰写、Excel数据统计与PPT结论展示,并强调多软件间数据一致性与交付检查的重要性,帮助新手建立完整的办公任务处理逻辑。

电脑入门自学路线:Word、Excel、PPT 实战练习指南
电脑入门自学路线:Word、Excel、PPT 实战练习指南

本文提供Word、Excel和PPT的零基础自学路线,强调以“可交付成果”为导向而非功能堆砌。通过分阶段练习文档排版、数据表格处理及演示文稿制作,帮助新手建立规范的文件管理、公式核对及放映检查习惯,快速掌握日常办公核心技能。

PDF转Word的三种方法及转换后编辑性检查指南
PDF转Word的三种方法及转换后编辑性检查指南

本文提供PDF转Word的三种处理方式:在线工具(极轻PDF)、桌面软件及Microsoft Word内置功能。重点说明转换后需核对文字编辑、图片位置、表格及页码等关键要素,确保文件可直接编辑。适用于急需处理文档或需保留原格式的场景,帮助读者避免格式错乱和文件覆盖风险。

PHP 生成 Word 工具 MDword 1.1.9 正式发布,已知 bug 修复
PHP 生成 Word 工具 MDword 1.1.9 正式发布,已知 bug 修复

MDword1.1.9版本发布,新增图片宽度百分比设定及小语种字体自动匹配功能。该工具基于母版替换机制动态生成Word文档,相比逐元素写入的PHPWord,开发效率更高。性能测试显示,1页母版执行100次变量赋值仅需0.04秒,连续运行内存占用稳定在约0.05MB。

Word转PDF后图片模糊怎么办?清晰导出与检查指南
Word转PDF后图片模糊怎么办?清晰导出与检查指南

Word转完PDF图片发虚,大多和源图分辨率、Word压缩设置,或是导出方式有关。下面整理了两种完整的转换方法,顺便说下怎么排查、提升导出后的图片清晰度。 方法一:用极轻PDF在线转换 极轻PDF(pdf.cn)自带Word转PDF功能,不用给Word 2007额外装插件,上传文档直接就能转。 步骤

PDF转Word要怎么操作?支持批量PDF转换成Word吗?
PDF转Word要怎么操作?支持批量PDF转换成Word吗?

PDF.cn在线PDF转Word页面每次仅限转换一个文件,适合临时处理单份文字型PDF。扫描件或图片版PDF无法直接转为可编辑文档。批量转换或文件超过50MB时,建议改用客户端处理,避免反复上传下载。

PDF文件如何转换成可以编辑的Word文件?PDF转换Word要如何操作?
PDF文件如何转换成可以编辑的Word文件?PDF转换Word要如何操作?

普通文字型PDF可通过在线工具直接转换为可编辑的DOCX文档,而扫描件则需先进行OCR识别。转换时务必上传完整文件,转换完成后应仔细检查文字、表格及图片的排版情况,如有少量偏差可手动微调。

PDF怎么在线转成Word?线上PDF转Word操作教程
PDF怎么在线转成Word?线上PDF转Word操作教程

PDF在线转Word仅支持普通可复制型PDF,不支持扫描件或超50MB文件。操作步骤:上传文件、点击转换、下载Word。转换后需检查文字、表格、图片排版,复杂排版需手动调整,确保内容准确无误。

PDF怎么转成可编辑Word?在线转换与版式检查方法
PDF怎么转成可编辑Word?在线转换与版式检查方法

将PDF转换为可编辑Word时,需先区分普通文字版与扫描件。普通PDF可直接用极轻PDF、Smallpdf等在线工具转换;扫描件需OCR识别。转换后需逐页核对标题层级、图片位置、表格结构及数字格式,确保内容完整准确。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
PixPix 网页版
PixPix 网页版
Windows

PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。

Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。