外部ソースを使用して自分のウェブサイトへのユーザーの所在地を取得することができますが、私が使用している外部ソースは非常に遅く、サイトダウン私はcURL
を使用して外部データを取得し、私はタイムアウト機能を実装しましたcurl_setopt($ch,CURLOPT_TIMEOUT,1000);
しかし、一度タイムアウトは、ページの読み込みを停止し、ページの半分が欠落しています。設定した時間後にスクリプトを停止する
これは、スクリプトは誰が$ geopluginを停止するが、それははるかに高く評価されるだろうページをロードし続けるためにどのように任意のアイデアを持っている場合は、私のウェブサイト上で
$i = 1;
$geoplugin = new geoPlugin();
$geoplugin->locate();
if(empty($_SESSION['country'])) {
$conchk = $geoplugin->countryName;
$_SESSION['country'] = $conchk;
}
else { $conchk = $_SESSION['country']; }
if(empty($conchk)) {$countrygeo = "NULL_CONT";} else {$countrygeo = $conchk;}
//$countrygeo = "Spain";
$country_find = mysql_query("SELECT * FROM country_list
WHERE country='$countrygeo' LIMIT 1");
while($row_cou = mysql_fetch_array($country_find)) {
$rowcov = $row_cou[1];
//Geo-location default!
print "<option selected value=\"$rowcov\">$rowcov</option>\n";
$kvar = 1;
}
//finish first while loop!
//if we cant find the geo-country in the list print the whole table!
$country_full_list_print = mysql_query("SELECT * FROM country_list
ORDER BY country ASC");
while($row_full = mysql_fetch_array($country_full_list_print)) {
if(($row_full[1] == "United Kingdom") && ($i == 1) && (empty($kvar))) {
print "<option selected value=\"$row_full[1]\">$row_full[1]</option>\n"; $i++; }
//always print uk as default if no results.
elseif ($row_full[1] == $rowcov) { }
else {
print "<option value=\"$row_full[1]\">$row_full[1]</option>\n"; } //this is the default print!
} //close while loop and if num_rows less than 1.
を使用です。
例外ループを試してください。 http://nz.php.net/exceptions –
@ダゴン:hehe、php.netはあなたのプロフィールを訪問する必要なくあなたの場所を公開します:-) – zerkms