Overview

Namespaces

  • GeoIp2
    • Database
    • Exception
    • Model
    • Record
    • WebService
  • MaxMind
    • Db
      • Reader
  • PHP

Classes

  • Decoder
  • Metadata
  • Util

Exceptions

  • InvalidDatabaseException
  • Overview
  • Namespace
  • Class
  • Tree
 1: <?php
 2: 
 3: namespace MaxMind\Db\Reader;
 4: 
 5: class Util
 6: {
 7:     public static function read($stream, $offset, $numberOfBytes)
 8:     {
 9:         if ($numberOfBytes === 0) {
10:             return '';
11:         }
12:         if (fseek($stream, $offset) === 0) {
13:             $value = fread($stream, $numberOfBytes);
14: 
15:             // We check that the number of bytes read is equal to the number
16:             // asked for. We use ftell as getting the length of $value is
17:             // much slower.
18:             if (ftell($stream) - $offset === $numberOfBytes) {
19:                 return $value;
20:             }
21:         }
22:         throw new InvalidDatabaseException(
23:             'The MaxMind DB file contains bad data'
24:         );
25:     }
26: }
27: 
GeoIP2 PHP API v2.7.0 API documentation generated by ApiGen 2.8.0