我已经设置了一个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文件时,它都会显示以下错误:
警告: unpack():类型V:输入不足,需要4,第376行中有0 in /path/to/file/IP2Locationinc.php
当我手动下载IP2Location.inc.php时,我已经在IP数据库上测试了它,它运行得很好,没有错误。但是,当我使用copy函数通过PHP下载数据库时,它会显示大量错误,这使我认为它在某种程度上破坏了文件。我已经测试了位于我服务器上的另一个zip文件的复制功能,它运行良好,没有损坏。我不知道问题出在哪里,有人有什么想法吗?
发布于 2014-11-04 05:37:28
从服务器下载的文件是.ZIP扩展名。
在使用IP2Location PHP查询该文件之前,请先解压缩该文件以获取CSV或BIN文件。
https://stackoverflow.com/questions/26699455
复制相似问题