묻고답하기
외부페이지 include 문제
2020.01.02 17:32
제가 다른 사이트의 내용을 크롤링해오는 html파일을 하나 만들어서 외부페이지를 통해 사이트에 표현하고 싶은데요
크롤링하는 html파일은 Snoopy php라이브러리를 include해서 이미 만들었고 이것을 외부페이지를 통해 출력하려고 하니깐
크롤링한 부분이 안뜹니다. 혹은 경로를 수정해서 다시 해주면 HTTP error 500 이 뜨면서 화면자체가 안뜰떄도 있습니다.
아파치 로그를 살펴보니깐 Snoopy라이브러리를 찾을 수 없다고 뜨는데
이게 그냥 html파일을 주소에 쳐서 보면 잘 실행되서 크롤링해오는데
외부페이지를 통해 실행하면 라이브러리를 몾찾는 것 같더라구요. 도대체 include 경로설정을 어떻게 해줘야 할 지 감도 안잡힙니다. ㅠㅠ 2일째 붙잡고 있는데 도통 되지를 않네요
디렉토리 경로는 다음과 같습니다.
www/xe/page/page1.php - 웹사이트 크롤링해오는 파일
www/xe/page/snoopy.class.php - include해서 사용한 Snoopy 라이브러리
다음은 page1.html 코드입니다. 페이지주소는 개인적인 주소라 가립니다.
<h1>외부 페이지 만들기 예제</h1>
<p>외부 페이지는 XE 코어 외부에 위치한 HTML 또는 PHP 파일을 XE에서 사용할 수 있도록 합니다.</p>
<?php
require_once('Snoopy.class.php');
$snoopy = new Snoopy;
$url = "페이지주소";
$snoopy->fetch($url);
$txt = $snoopy -> results;
echo $txt;
?>
댓글 1
-
오뎅궁물
2021.02.23 13:55
page1.php 파일의 상단에 아래의 코드를 삽입하세요define('_SERVER_BASE_PATH_', str_replace('xe/page/page1.php', '', str_replace('\\', '/', __FILE__)));require_once _SERVER_BASE_PATH_ . "xe/page/snoopy.class.php";