2013-10-26 3 views
0

IP 주소에서 국가 이름을 얻으려고합니다. 제이슨이 iptolatlng.com에서 배열을 디코딩하는 반환 나는 일반라는 이름의 클래스를 생성 한 그 클래스에 나는 GetIPCountry ($의 IP)라는 함수를 가지고IP PHP에서 국가 이름 얻기 iptolatlng.com

public function GetIPCountry($ip){ 
    $details = json_decode(file_get_contents("http://www.iptolatlng.com?`ip=".urlencode($ip)));` 
    return $details->countryFullName; 
} 

난 내 로컬 호스트에서 다음과 같이 내 IP를 보내 :

$country = $general->GetIPCountry('***.***.***.**'); 

잘 작동합니다.

하지만 동일한 파일을 업로드하여 내 서버에서 실행할 때 출력이 없습니다.

제가 서버에 있기 때문에 나는 $_SERVER['REMOTE_ADDR'];도 시도해야하지만이 역시 결과가 표시되지 않습니다. 이것이 서버 오류 일 수도 있습니다. iPage에서 호스팅되었습니다. 도와주세요. 미리 감사드립니다!

+0

먼저 구문에 오류가 있습니다 (URL과 줄 끝 둘 다 필요 없음). 실수를 수정하고 phpfiddle 게시 내용을 게시하십시오. ([link] http://phpfiddle.org/main/code/b3f-gvi [/ link]. 그런 다음 원격 서버에서 문제가 해결되고 출력이 없으면 오류가 발생하고 PHP 플래그 'display_errors'를 0으로 설정하십시오. 그런 경우 코드 앞에 붙여 넣으십시오.ini_set ('display_errors', 1); error_reporting (E_ALL); – Kleskowy

+0

@ Kleskowy 지적 해 주셔서 고맙습니다.하지만 여기서는 구문을 복사 할 때 실수였습니다. phpfidle을 만들었습니다. 링크입니다. 기본적으로 이것이 제가하는 일입니다! http://phpfiddle.org/main/code/mih-iqn – Bhashithe

+0

@Kleskowy 실제로 내 서버에 코드를 coppied 여전히 작동하지 않습니다. 내 코드 및 코드를 모두 잘 작동합니다. 그것은 너무 원격 서버에서 제대로 작동해야합니까? – Bhashithe

답변

0

$ ip가 원격 서버에서 호스트 할 때 무엇을 포함합니까? 본질적으로 $ ip를 출력하려면 IP 주소가 포함되어 있습니까? 이렇게하면 연결된 컴퓨터의 IP 주소를 가져 오는 것과 관련하여 문제가되는지 파악하는 데 도움이됩니다.

+0

$ ip = $ _SERVER [ 'REMOTE_ADDR']; 그것 같이. 내가이 말을 되풀이 할 때 아무런 문제없이 내 IP 주소를 얻는다. – Bhashithe

+0

그럼 IP에 대한 iptolatng 페이지를 호출하고 세부 사항에 저장해야한다. 원격 서버에서 실행될 때 $ call에는 아무런 내용이 없습니다. – Don

+0

예! 그것이 문제이다!! – Bhashithe

0

IP로 127.0.0.1을 보냅니 까? IP 127.0.0.1의 위치를 ​​서비스에 요청하면 사용자의 위치를 ​​말할 수 없습니다. 내 localhost에서 코드를 실행할 때이 문제가 발생했습니다.

+0

그 일을하려고하지 않고 원격 서버에 스크립트를 업로드했습니다. 테스트 할 곳입니다. 여기 내 피들 확인 : http://phpfiddle.org/main/code/mihi-iqn – Bhashithe

+0

업로드하고 다른 서버에서 테스트 한, 잘 작동합니다. 이 문제가 서버 문제 일 수 있습니까? 나는 이제 iPAG의 고객 지원이 끊임없이 이것이 서버 문제라고 말해 주며 매우 의심 스럽습니다. – Bhashithe

+0

바이올린 끝에있는? ip = 매개 변수를 제거하여 테스트 해보십시오. 시도 : http://phpfiddle.org/main/code/v93-8er 어떤 이유로 서버에 REMOTE_ADDR에 문제가있는 것 같습니다. – mgwhitfield