【发布时间】: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