2009-12-02 2 views
2

관련성이 높은 경우 MVC 프레임 워크 인 CodeIgniter를 사용하고 있습니다.서버의 다른 페이지에서 동적 HTML 출력 받기 (아마도 file_get_contents)

내 페이지/컨트롤러 중 하나에서 사이트의 다른 페이지에서 출력 된 HTML을 문자열 (전자 메일 또는 뉴스 레터로 사용)로 캡처하려고합니다. 나는 시도 :

$string = file_get_contents('http://www.examplesite.com/path/to/page'); 

그러나 $string 그냥 실패 의미 설명서를 말한다 false을하게된다. 나는 비극적 인 무언가를 놓치고 있어야합니다 ...

답변

0

나는 적어도 더 좋은 해결책이 있습니다. 나는이 작업을 수행 할 수 있도록 CodeIgniter는보기에 호출을위한 세 번째 인수를 허용합니다

$string = $this->load->view('path/to/view', '', true); 

이를 여전히 컨트롤러에 전화를 복제 내 초기 문제가 해결되지 않는,하지만 최소한 좋습니다. 이 작업을 수행하기 위해서는 어떤 컨트롤러가 사용되고 있는지 정확하게 알고 있어야합니다.

0

fopen_wrappers이 서버에서 사용 중지되었을 수 있습니다. 사용해보기 Curl

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); 
curl_setopt($ch, CURLOPT_URL,'http://www.examplesite.com/path/to/page'); 
$html = curl_exec($ch); 
+0

이상하게도 "Apache 2 테스트 페이지"를 반환합니다. 어떤 아이디어? –

+0

도움이된다면 PHP 로그의 오류는 404입니다. –

+0

올바른 URL을 CURLOPT_URL에 전달했는지 확인하십시오. – Galen

0

질문에 대한 답을 얻은 것 같습니다.

/* index method inside example controller */ 
function index($url) { 
    $content = $this->load->view(urldecode($url), '', true); 
} 

// requesting this page generates string output for a specified url 
$url = urlencode('/relative/path/to/view/'); 
http://www.example.com/index.php/example/index/ . $url; 
+0

내가보기 싫은 것이 아니라면보기를로드하는 것이 충분하지 않습니다.보기가 전달됩니다. 컨트롤러의 데이터는 모든 컨트롤러에 대한 함수 호출이 다릅니다. –

+0

'true'를 thrid 변수로 전달하면 뷰가 렌더링되지 않고 문자열로 전송됩니다. 적어도 그것은 CI 문서가 말하는 것입니다. – Zack

+0

@ Steven의 불만은 그가 컨트롤러의 뷰에 동적 데이터를 전달하기를 원한다고 생각합니다. 더 많은 세부 사항 없이는 SO에서 쉽게 해결할 수있는 것보다 많은 작업이 필요합니다. –

관련 문제