2012-04-23 14 views

答えて

1

あなたは、その内容のリクエストが来るから、国に依存しているPHPによって生成された.jsファイルを、アップ奉仕したいですか?

もしそうなら、あなたはPHP用のGeoIP拡張モジュールを使用することができます:ジャックの回答(1)に加えてhttp://www.maxmind.com/app/php

1

を、ここにあなたがのGeoIP PHPモジュールを使用する場合は動作するはずですいくつかのコードがあります:

addScript("http://domain.com/javascriptgenerator.php"); 

はその後javascriptgenerator.phpに、あなたは、単に実行します。

<?php 
header("Content-type: application/javascript"); //Tell the browser we're sending JS 

require_once "Net/GeoIP.php"; //Path to GeoIP PHP module 

$geoip = Net_GeoIP::getInstance("/path/to/geoipdb.dat"); 

try { 
    switch ($geoip->lookupCountryCode($_SERVER['REMOTE_ADDR'])) { 
     case "CA": 
      //Generate JS for Canadian users 
     break; 
     case "FR": 
      //Generate JS for French users 
     break; 
     //Any number of case statements goes here 
     default: 
      //Show default JS code 
    } 
} catch (Exception $e) { 
    //Handle exception 
    //You probably want to show the default JS code if the geo-location is unsuccesful 
} 
?> 

http://pear.php.net/manual/en/package.networking.net-geoip.lookupcountrycode.php

も参照してください。
+0

簡単なコードはありますか?私はこの 'http://j.maxmind.com/app/geoip.jsを使用します。 var国= geoip_country_code();' –

+0

あなたはなぜこの質問にPHPタグを追加しましたか? PHPをまったく使いたくないのですか?あなたは確かにJSONPを使ってクライアント側の 'geoip.js'からデータを取得することができますが、世界のすべての単一の国の*すべての* JSコードを送信し、どちらを使いたいのかを選択しますクライアント側のみ。これらのJSファイルがどのように異なっているかによって、帯域幅が膨大になり、ページが必要以上に遅くなる可能性があります。だから、もしこのPHPコードがあなたが探しているものでないなら、あなたはあなたの質問をより明確にする必要があります:) – Daan

関連する問題