2008-10-28 4 views
3

다른 서버에서 XML 파일을 읽으려고합니다. 그러나 나를 호스팅하는 회사는 file_get_contents 함수를 다른 서버에서 파일을 검색하는 것으로 바꾸 었습니다 (지원이 매우 밝지 않고 응답하기까지 영원히 걸립니다). 그래서 어떤 방법으로 해결해야합니다.PHP의 다른 서버에서 XML 파일을 읽는 방법은?

이 내 현재 코드입니다

$url = urldecode($object_list_url); 
$xmlstr = file_get_contents ($url); 
$obj = new SimpleXMLElement ($xmlstr, LIBXML_NOCDATA); 

답변

8

cURL (사용할 수없는 경우)을 사용할 수 있습니다. 이 같은 뭔가 :

$c = curl_init($url); 
curl_setopt($c, CURLOPT_RETURNTRANSFER, true); 
$xmlstr = curl_exec($c); 
+0

분명히 allow_url_fopen은 cURL을 다루지 않으므로 최선의 방법 일 수 있습니다. – Ross

+0

나는 cURL을 권장합니다 - allow_url_fopen보다 훨씬 안전하고 안전합니다. – Eli

+0

http://wiki.dreamhost.com/CURL#Alternative_for_file_get_contents.28.29 – Gilean

0

당신이 언급하고있는 INI의 var에 allow_url_fopen입니다. 이 스크립트를 확인하려면 다음 스크립트를 실행하십시오.

var_dump(ini_get('allow_url_fopen')); 

호스트에 ini 값을 설정하도록 요청하십시오 (기본적으로 사용 설정되어있는 경우).

해당 ini 설정을 사용하지 않으면 원격 URL에 액세스 할 수 없습니다.

또한 서버에 파일을 보내려고 시도하지 않을 수도 있습니다. 모든 파일 시스템 기능이 해당 ini 설정에서 다루어지기를 기대하지만 항상 시도해 볼 가치가 있습니다.

0

는 다음과 같은 스크립트를 실행하고 주석으로 정보를 제공 할 수 있습니까?

<?php 
phpinfo(); 
?> 
+0

300 자에 맞지 않지만 cURL이 켜져 있습니다. –

관련 문제