file — PHP IP2Location Загрузить поврежденный с помощью копирования

Я настроил PHP-скрипт для загрузки данных IP2Location ежемесячно с помощью функции копирования PHP. Приведенный ниже скрипт отлично работает и загружает файл (размер файла тоже правильный, около 15 МБ):

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);

однако всякий раз, когда я пытаюсь запустить PHP-файл IP2Location, он показывает эти ошибки:

Предупреждение: unpack (): Тип V: недостаточно ввода, нужно 4, иметь 0 в /path/to/file/IP2Location.inc.php в строке 376

Я проверил IP2Location.inc.php в базе данных IP, когда я вручную загружаю его, и он прекрасно работает без ошибок. Однако, когда я загружаю базу данных через PHP, используя функцию копирования, она показывает множество ошибок, из-за которых я думаю, что это как-то портит файл. Я протестировал функцию копирования на другом zip-файле, расположенном на моем сервере, и он работал нормально, без повреждений. Я не уверен, в чем проблема, у кого-нибудь есть идеи?

0

Решение

Файл, загруженный с сервера, имеет расширение .ZIP.

Пожалуйста, разархивируйте файл, чтобы получить файл CSV или BIN, прежде чем запрашивать его с помощью PHP API IP2Location.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector