[완료]php에서 다른 파일에 있는 변수를 가져다 사용할 방법이 있나요?

hardboiled65의 이미지

인터넷에 공개된 소스를 가지고 조잡한 RSS 파서를 만들었습니다.

xml 파일에서 제목, 링크, 날짜를 구해서 배열 변수에 넣는데까지 성공했습니다.
예를들면
$arr[0][0] 에는 첫번째 글 제목, $arr[0][1]에는 첫번째 글 링크 .....
이런식으로 들어갔습니다. 이걸 그냥 이 파일에서 표시를 한다면 문제가 없지만
다른 html 페이지에서 이 변수값들을 받아서 출력하고 싶습니다.

검색해보니 $_GET 이나 $_POST 방식에 대해서만 나오는데 이건 폼에서 값을
입력받아서 전달하는것만 가능한것 같습니다.

제가 구현하고자 하는건 웹페이지에서 폼을 통해 주소를 입력받고,
그 주소를 파서에 전달해서 변수에 값들을 구하고, 다시 웹페이지에서 그 값을 받아서
그 변수들을 활용해서 테이블로 출력하고 싶습니다만 이게 php만으로(정 안되면
자바스크립트까지만 사용해서) 가능한지 알고싶습니다.

간단하게 hello.php 란 파일에
<?
$var = "hello world!";
?>
라는 내용이 있다면
다른 파일에서 hello world를 출력하기 위해서 $var 라는 변수를 사용할 수 있는 방법이
있는지만 알려주시면 나머지는 알아서 할 수 있을것 같습니다.
다만 require("file"); 등을 통해 파일 자체를 포함시키는 경우에는 기존에 있던 파일에 있는 불필요한 내용들이 출력되기 때문에(조잡한 파서라서 파싱하지 않는 글 내용이나 태그 같은 데이터들은 그대로 출력되어 버립니다.) 안됩니다.

가르쳐 주시면 감사하겠습니다.

pogusm의 이미지

<?
ob_start();
// 출력 버퍼링을 켭니다. 출력 버퍼링을 활성화하면, (헤더를 제외한) 스크립트의 모든 출력을 내부 버퍼에 저장하고, 실제로 전송하지 않습니다.
 
include("hello.php");
 
ob_end_clean();
//  버퍼 내용을 버립니다.
 
echo $var;

불필요한 내용들이 출력되지 않게 ob_start()를 사용하면 어떨까요?

익명 사용자의 이미지

특정 페이지에서 파싱후 해당 변수를 serialize 나 json_encode 사용해서 저장하여 일반 텍스트로 출력한 다음

다른 페이지에서 해당 텍스트를 불러와 다시 decoding 하여 사용하면 됩니다.

hardboiled65의 이미지

php를 설치만 해놓고 필요할때만 그때그때 가져다 써서 어떤게 있는지도 모르고 있었네요..
참고하겠습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.