php下载远程zip文件到服务器,文件损坏几率特别大

发布于 2022-09-05 19:50:53 字数 1053 浏览 29 评论 0

业务里面需要一个从我的服务器下载zip文件到对方服务器的场景,但是下载的文件很多时候会文件损坏
我的下载代码:

function httpcopy($url,$file=''){
    try {
        set_time_limit(0);
        touch($file);
        // 做些日志处理
        if ($fp = fopen($url, "rb")) {
            if (!$download_fp = fopen($file, "wb")) {
                exit;
            }
            while (!feof($fp)) {
                if (!file_exists($file)) {
                    // 如果临时文件被删除就取消下载
                    fclose($download_fp);
                    exit;
                }
                fwrite($download_fp, fread($fp, 1024 * 8 ), 1024 * 8);
            }
            fclose($download_fp);
            fclose($fp);
        } else {
            exit;
        }
    } catch (Exception $e) {
        return ['status'=>false,'msg'=>$e->getMessage()];
    }
    return ['status'=>true,'msg'=>'success'];
}

打包是使用的PclZip,下载完成后解压就会报错

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

樱娆 2022-09-12 19:50:53

这里有个使用curl断点续载的实现http://www.itdfy.com/details/912

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文