手冊中,"其它基本擴充套件->geoip",有乙個geoip擴充套件,今天我們來研究下這個擴充套件:
geoip擴充套件允許你查詢ip位址的位置。可以借助geoip獲取:城市,州,國家,經度,緯度,以及其它資訊,例如:isp(網路服務提供商)和鏈結型別
<?php
$infos = geoip_db_get_all_info();
if (is_array($infos))
?>
輸出:
array(11)
[ ... ]
[11]=>
array(3)
}
有一點,需注意下:
最外層陣列的索引下標,表示的是不同的資料庫型別常量。
geoip_domain_by_name(string $hostname)
返回關聯的主機名或ip位址的二級網域名稱
該函式目前僅對商業'geoip domain edition'有效,如果發現對應的資料庫不存在,則顯示乙個警告
1.$hostname
查詢的主機名或ip位址
2.返回值
成功返回相應的網域名稱,在資料庫中未發現位址,返回false
geoip_id_by_name(string $hostname)
返回對應的主機名或ip位址的網際網路連線型別
返回值是數字,是下面常量中的乙個:
geoip_unknown_speed
geoip_dialup_speed
geoip_cabledsl_speed
geoip_corporate_speed
1.$hostname
查詢的主機名或ip位址
2.返回值
返回連線型別
3.手冊上例項:
<?php
$netspeed = geoip_id_by_name('www.example.com');
echo 'the connection type is ';
switch ($netspeed)
?>
geoip_isp_by_name(string $hostname) // 獲取對應的主機名或ip位址的isp(internet service provider-網路運營商)名字
geoip_netspeedcell_by_name(string $hostname)
返回主機名或ip位址對應的網際網路連線型別和連線速度
該函式只能用於 geoip庫 1.4.8以後
該函式目前僅對購買了商業 "geoip netspeedcell edition" 的使用者有效,如果發現對應的資料庫不存在,則顯示乙個警告
返回乙個字串,常見的值是:
cable/dsl
dialup
cellular
corporate
1.$hostname
查詢的主機名或ip位址
2.返回值
成功返回連線speed,如果在資料庫中未找到位址,返回false
geoip_org_by_name(string $hostname)
返回主機名或ip位址,對應的組織名。
該函式目前僅對購買了商業 "geoip organization, isp or as edition" 的使用者有效,如果發現對應的資料庫不存在,則顯示乙個警告
1.$hostname
查詢的主機名或ip位址
2.返回值
成功返回組織名,如果在資料庫中未找到位址,返回false
geoip_record_by_name(string $hostname)
返回主機名或ip位址對應的在 geoip 資料庫中的詳細的城市資訊
該函式對 'geolite city edition' 和 商業'geoip city edition' 都是有效的,如果發現對應的資料庫不存在,則顯示乙個警告。
返回的關聯陣列的下標列表如下:
continent_code - 2個字母的 '洲碼'
country_code - 2個字母的 '國家碼'(檢視 geoip_country_code_by_name())
country_code3 - 3個字母的 '國家碼'(檢視 geoip_country_code3_by_name())
country_name - 國家名(檢視 geoip_country_name_by_name())
region - 地區碼(例如:ca-california)
city - 城市
postal_code - 郵編,fsa或zip碼
latitude - 經度
longtitude - 緯度
dma_code - designated market area code(僅僅美國和加拿大)
area_code - pstn 區域碼(例如:212)
geoip_region_by_name(string $hostname)
返回主機名或ip位址對應的國家和地區。
該函式目前僅對購買了商業 "geoip region edition" 的使用者有效,如果發現對應的資料庫不存在,則顯示乙個警告
返回的關聯陣列的下標列表如下:
country_code - 2個字母的 '國家碼'(檢視 geoip_country_code_by_name())
region - 地區碼(例如:ca-california)
geoip_region_name_by_code(string $country_code, string $region_code)
根據國家碼和地區碼組合,獲取地區名
在美國,地區碼對應每個州的2個字母縮寫。在加拿大,地區碼對應2個字母的省份或區域碼,由加拿大郵政制定的
對於世界上的其它國家,geoip 使用 fips 10-4 編碼代表地區。可檢視完整的列表:
geoip擴充套件庫自1.4.1以後,該函式都是有效的,資料的獲取是直接來自 geoip擴充套件庫,而不是從任何資料庫中獲取
1.$country_code
2個字母的國家碼(檢視 geoip_country_code_by_name())
2.$region_code
2個字母(或數字)的地區碼(檢視 geoip_region_by_name())
3.返回值
成功返回地區名,如果國家碼和地區碼組合未找到,返回false
4.例項:
美國/加拿大
echo geoip_region_name_by_code('ca', 'qc'); // quebec
日本 - (原諒我,手冊中的例項是日本,我暫未測試)
geoip_region_name_by_code('jp', '01'); // aichi
中國 - 測試了哈
geoip_region_name_by_code('cn', '01'); // anhui
geoip_time_zone_by_country_and_region(string $country_code[, string $region_code]) // 根據國家碼和地區碼組合,返回對應的時區
1.$country_code
2個字母的國家碼(檢視 geoip_country_code_by_name())
2.$region_code
2個字母(或數字)的地區碼(檢視 geoip_region_by_name())
3.返回值
成功返回時區,如果國家碼和地區碼組合未找到,返回false
4.例項:
geoip_region_name_by_code('cn', '23'); // asia/shanghai(23-表示上海)
geoip_setup_custom_directory(string $path)
改變 geoip 資料庫的預設目錄,等同於改變 'getip.custom_directory' 的配置
1.$path
硬碟上 geoip 資料庫的全路徑
2.例項:
<?php
geoip_setup_custom_directory('/some/other/path'); // 改變路徑
print geoip_db_filename(geoip_country_edition); // 輸出:/some/other/path/geoip.dat
?>
C 的擴充套件方法詳解
必須是靜態類才可以新增擴充套件方法 static class program 宣告擴充套件方法 擴充套件方法必須是靜態的,add有三個引數 this 必須有,string表示我要擴充套件的型別,stringname表示物件名 三個引數this和擴充套件的型別必不可少,物件名可以自己隨意取如果需要傳遞...
linux上增加php redis的擴充套件
注意 目錄的許可權 chomd 777 r 1 安裝redis 上傳phpredis 2.2.4.tar.gz到 usr local src目錄 cd usr local src 進入軟體包存放目錄 tar zxvf phpredis 2.2.4.tar.gz 解壓 cd phpredis 2.2....
有關晶元手冊上的偏置的概念
因為要使電晶體處於放大狀態,其基極 射極之間的pn結應該正偏,集電極 基極之間的pn結應該反偏。因此,設定電晶體基射結正偏 集基結反偏。使電晶體工作在放大狀態的電路,簡稱為偏置電路 可以理解為設定正反偏的電路 而使電晶體工作在放大狀態的關鍵是其 基極電壓,因此,基極電壓又稱為偏置電壓。又由於使電晶體...