强制下载内容长度不匹配的文件

问题描述

我想使用 PHP 从第三方网站下载 .csv 文件。但是,content-length 标头始终由第三方设置为 0。因此,下载的文件总是 0 字节长,因此总是空的。实际上,文件大小约为 14 KB。

我可以通过使用 Google Chrome 浏览器下载文件来正确下载文件。显然,浏览器会忽略标头 content-length

PHP 中是否有解决方案可以忽略标头 content-length 并下载完整文件,而不管该标头的值如何?

这是我正在谈论的文件https://lcps.nu/wp-content/uploads/covid-19.csv

目前我正在使用此功能进行下载:

    public static function downloadRemoteFile( $remoteFile,$destinationFile ) {
        $handleSource = fopen( $remoteFile,'r' );
        $handleDestination = fopen( $destinationFile,'w' );
        $result = stream_copy_to_stream( $handleSource,$handleDestination );
        fclose( $handleSource );
        fclose( $handleDestination );
        return $result;
    }

作为替代方案,我测试了 file_get_contents() 但这并不能解决问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...