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

如何在PHP中读取远程ZIP文件内的TXT文件?

如何在PHP中读取远程ZIP文件内的TXT文件?

我来帮你调整代码,解决读取远程ZIP里readme.txt的问题~

首先得指出你原代码里的两个小问题:

  • URL拼写失误,htps应该是https,这个小错误会导致连接不上目标资源
  • PHP的ZipArchive类没办法直接打开远程ZIP文件,得先把远程ZIP下载到本地临时文件,再进行后续操作

下面是调整后的完整代码,我给你拆解下关键步骤:

<?php
// 修正后的远程ZIP文件URL(注意:你原URL里的#readme.txt是错误格式,要替换成真实的ZIP文件链接)
$remoteZipUrl = 'https://downloads.wordpress.org/plugin/your-plugin-file.zip';

// 创建系统临时目录下的临时文件,用来存储下载的ZIP
$tempZipFile = tempnam(sys_get_temp_dir(), 'remote_zip');

// 把远程ZIP下载到本地临时文件
if (copy($remoteZipUrl, $tempZipFile)) {
    $zip = new ZipArchive;
    if ($zip->open($tempZipFile) === TRUE) {
        // 读取ZIP包内的readme.txt内容
        $readmeContent = $zip->getFromName('readme.txt');
        if ($readmeContent !== FALSE) {
            echo $readmeContent;
        } else {
            echo "ZIP文件里找不到readme.txt哦";
        }
        $zip->close();
    } else {
        echo "无法打开下载的ZIP文件";
    }
    // 用完临时文件后删除,避免占用服务器空间
    unlink($tempZipFile);
} else {
    echo "无法下载远程ZIP文件";
}
?>

关键步骤说明:

  • 用tempnam创建临时文件:借助系统临时目录,不用自己手动管理文件路径,更安全省心
  • 用copy下载远程ZIP:这个函数能直接处理远程资源,比手动用fopen处理更简单
  • 读取完成后删除临时文件:避免服务器上堆积无用的临时文件,保持资源整洁

另外要注意:你原代码里的htps://downloads.wordpress.org/plugin/#readme.txt是无效链接,实际要替换成具体的插件ZIP文件地址(比如类似https://downloads.wordpress.org/plugin/akismet.5.3.zip这样的格式),否则无法正常下载资源。

备注:内容来源于stack exchange,提问作者horje com

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 10:14:32