class-hostip

Gesponsorde koppelingen

PHP script bestanden

  1. class-hostip

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php

/**
 * Beplaal de locatie van een IP
 * Met behulp van het GPL project: hostip.info
 *
 * @author Boaz den Besten
 * @version 0.1.27-07-2007
 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
 * @PHPversion 5.2.3-dev
 */

class clsHostIP{
    
    /**
     * IP om gegevens te koppelen
     *
     * @var String IP Adres
     */

    private $m_sIPAddr = null;
    
    /**
     * Stad wat bij het ip hoort
     *
     * @var String City
     */

    private $m_sCity = null;
    
    /**
     * Land wat bij het ip hoort
     *
     * @var String Land
     */

    private $m_sCountryName = null;
    
    /**
     * Land afkorting eg NL voor Netherlands
     *
     * @var String Land (afkoring)
     */

    private $m_sCountryAbbrev = null;
    
    /**
     * Breedtegraad die bij het IP hoort
     *
     * @var Float breedtegraad
     */

    private $m_fLatitude = null;
    
    /**
     * Lengtegraad die bij het IP hoort
     *
     * @var Float lengtegraad
     */

    private $m_fLongitude = null;
    
    /**
     * Een instance verkrijgen
     * En informatie over het IP verzamelen
     *
     * @param String IP adres
     */

    public function __construct($p_sIPAddr){
        if(filter_var($p_sIPAddr, FILTER_VALIDATE_IP) === false){
            throw new Exception('Not a valid IP adress.', 101);
        }

        $this->m_sIPAddr = $p_sIPAddr;
        
        $this->getIPInfo();
    }

    
    /**
     * Method om informatie te verzamelen
     *
     */

    private function getIPInfo(){
        $oSimpleXML = new SimpleXMLIterator('http://api.hostip.info/?ip='.$this->m_sIPAddr, null, true);
        foreach($oSimpleXML->getDocNamespaces() as $sPrefix => $sNs){
            $oSimpleXML->registerXPathNamespace($sPrefix, $sNs);
        }

        
        $aLocation = $oSimpleXML->xpath('//gml:featureMember/*/*');

        $this->m_sCity = (string) $aLocation[0];
        $this->m_sCountryName = (string) $aLocation[1];
        $this->m_sCountryAbbrev = (string) $aLocation[2];
        
        $aCoords = $oSimpleXML->xpath('//gml:coordinates');
        @
list($this->m_fLongitude, $this->m_fLatitude) = explode(',', $aCoords[0]);
    }

    
    /**
     * Geef het IP terug
     *
     * @return String
     */

    public function getIPAddr(){
        return $this->m_sIPAddr;
    }

    
    /**
     * Geef de stad terug
     *
     * @return String
     */

    public function getCity(){
        return $this->m_sCity;
    }

    
    /**
     * Geef het land terug
     *
     * @return String
     */

    public function getCountryName(){
        return $this->m_sCountryName;
    }

    
    /**
     * Geef de land afkoring terug (eg NL voor Netherlands)
     *
     * @return String
     */

    public function getCountryAbbrev(){
        return $this->m_sCountryAbbrev;
    }

    
    /**
     * Geef de breedtegraad terug
     *
     * @return Float
     */

    public function getLatitude(){
        return $this->m_fLatitude;
    }

    
    /**
     * Geef de lengtegraad terug
     *
     * @return Float
     */

    public function getLongitude(){
        return $this->m_fLongitude;
    }

    
    /**
     * Geef een link naar een plaatje de vlag van het land
     *
     * @return String
     */

    public function getFlag(){
        return 'http://api.hostip.info/flag.php?ip='.$this->m_sIPAddr;
    }

    
    /**
     * BluePrint HostIP
     *
     */

    public function __toString(){        
        return print_r($this, true);
    }
    
}


?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.