【问题标题】:PHP IP2Location Download Corrupt Using CopyPHP IP2Location 下载损坏使用复制
【发布时间】:2014-11-02 12:48:59
【问题描述】:

我设置了一个 PHP 脚本,每月使用 PHP 复制功能下载 IP2Location 数据。以下脚本运行良好并下载文件(文件大小也正确,大约 15 MB):

include('auth/resources/funcs.inc.php');
copy('http://www.ip2location.com/download?productcode=DB11LITEBIN&login=myemail@host.com&password=mypassword', LOCAL_DATAFILES . '/ip/DB11_'.date('d-m-Y', time()).'.BIN');

$myFile = LOCAL_DATAFILES . "/ip/active_db.txt";
$fh = fopen($myFile, 'w') or die();
$stringData = 'DB11_'.date('d-m-Y', time()).'.BIN';
fwrite($fh, $stringData);
fclose($fh);

但是,每当我尝试运行 IP2Location PHP 文件时,它都会显示以下错误:

警告:unpack():类型 V:输入不足,需要 4 个,在第 376 行的 /path/to/file/IP2Location.inc.php 中有 0

当我手动下载它时,我已经在 IP 数据库上测试了 IP2Location.inc.php,它工作得很好,没有错误。但是,当我使用复制功能通过 PHP 下载数据库时,它会显示大量错误,这让我认为它以某种方式损坏了文件。我已经在位于我的服务器上的另一个 zip 文件上测试了复制功能,它运行良好,没有损坏。我不确定是什么问题,有人有什么想法吗?

【问题讨论】:

  • 没关系,我是个白痴。我正在下载的文件实际上是压缩的。当我应该将其保存为 .ZIP 文件然后解压缩时,我将其保存为 .BIN 文件。它现在工作正常:)。

标签: php file url download copy


【解决方案1】:

您从服务器下载的文件是 .ZIP 扩展名。

请先解压文件以获取 CSV 或 BIN 文件,然后再使用 IP2Location PHP API 进行查询。

【讨论】:

    猜你喜欢
    • 2019-06-08
    • 2012-12-05
    • 2015-09-29
    • 2015-07-16
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    相关资源
    最近更新 更多