2011-12-19 4 views
1

저는 한 파일에 뉴스 레터 템플릿을 가지고 있고 다른 파일에 메일 스크립트를 가지고 있습니다. 기본적으로 데이터베이스에서 이메일 주소를 가져 와서 이메일을 보내는 각각을 통해 반복합니다. 수 다음file_get_contents와 함께 PHP 변수 사용하기

T_newsletter.php?test=hello 

과 :

$content = file_get_contents('attach/T_newsletter.php'); 

내가 지금해야 할 것은이 예와 함께 PHP 변수를 보낼 수 있습니다 :

나는 뉴스 레터 템플릿의 내용을 얻기 위해이 코드를 사용하고 템플릿의 URL에서 가져오고 그에 따라 내용을 조정할 수 있습니다.

누군가 내가이 작업을 어떻게 수행하는지 설명 할 수 있습니까? 어떤 도움

감사

+0

newsletter.php를 들여다 볼 수 있습니까? – Andri

+0

GET 또는 POST에 대해 이야기하고 있습니까? 그것들은 데이터를 전달하는 방법입니다. – Kris

답변

2

당신이 URL의 한 부분으로 그 파일 "T_newsletter.php"를 호출 할 필요가있을 것이다, 그렇게하려면 다음

$content = file_get_contents("http://yourdomain.com/T_newsletter.php?test=hello"); 

및 T_newsletter.php 내부 :

<?php 
    $v = $_GET['test']; // this will be 'hello' 

    if($v == 'hello') 
    { 
    ... 
    } 
    else 
    { 
    ... 
    } 
?> 

다른 옵션은 당신이 HTTP 요청을하지 않으려면 직접 파일을 구문 분석 Twig 또는 Smarty 같은 템플릿 엔진을 사용하는 것입니다.

+0

감사합니다 thats brilliant ... 나는 T_newsletter.php와 같은 첨부 파일을 만들려고했는데 test = hello와 아무것도 반환하지 않았습니다. –

+0

솔루션이 파일 시스템에서 파일을 읽거나 "yourdomain"에서 다운로드를 수행합니까? – strauberry

+0

@ Daniel 만약 당신의 솔루션이 당신을 위해 작동한다면 Accepted answer : – SeanNieuwoudt

0
 
$response=file_get_contents("attach/T_newsletter.php?test=hello"); 

0

가장 깨끗하고 가장 유연한 솔루션 템플릿 엔진 (같은 smarty)를 사용하는 것 대신에 변수로 읽기 구문 분석 된 내용을 출력 ... 당신이 변수를 사용할 수 있습니다, 템플릿에 등 루프 파일 (here 참조)을 읽고 결과를 fetch (here 참조)가있는 변수로 읽습니다.

3

file_get_contents ('attach/T_newsletter.php');

와우! 그만 해요. 이것이 PHP 소스 코드가 아니라면 .php 확장자가 없어야합니다. PHP 소스 코드라면 메일 링리스트에 보내서는 안됩니다.

코드를 파일 내부에서 실행하려면이 방법이 아닙니다. 한 가지 방법은 HTTP를 통해 파일에 액세스하는 것입니다.

file_get_contents('http://localhost/attach/T_newsletter.php'); 

매개 변수를 스크립트에 전달하는 과정이 단순 해지지만 여전히 혼란스러운 솔루션입니다.

문제를 해결하는 또 다른 끔찍한 방법은 ....데이터 파일로 파일을 사용하여

require_once ('/attach/T_newsletter.php'); 
$content=generate_newsletter($params); 

2) :

ob_start(); 
include('/attach/T_newsletter.php'); 
$content=ob_get_contents(); 
ob_end_flush(); 

포함 된 파일의 기능 (또는 클래스)로)이

한 것 구현하는 권리 방법 템플릿 :

$template=file_get_contents('/attach/T_newsletter.data'); 
$content=preg_replace($template_vars, $template_values, $template); 
+0

Upvote는 "Whoa! Stop 바로 저기"입니다. :) – strauberry