file_get_contents com string de consulta

Estou tentando enviar e-mails de php. Eu tenho um arquivo php com todos os valores e outro arquivo de modelo php.

(ambos os arquivos estão no mesmo servidor)

Estou usando files_get_contents para obter conteúdo do arquivo de modelo do php, por exemplo

$url="emil_form.php"; $a="uname"; if(($Content = file_get_contents($url. "?uname=".$a)) === false) { $Content = ""; } ...... EMAIL Sending Code .......... 

e aqui está o código para emil_form.php (arquivo de modelo de e-mail)

  Your Name is :  

Então, uma vez que recebi dados em $ Conteúdo, posso enviar por e-mail. mas estou obtendo erro impossível abrir o arquivo ….

O que eu quero é passar dados do arquivo php original para o arquivo de modelo php e o que será saída do modelo armazenado na variável para que eu possa enviá-lo por e-mail.

Como fazer isso?

obrigado

O problema real seria que você tente ler um arquivo local com uma seqüência de consulta http por trás disso. O sistema de arquivos não entende isso e procura um arquivo chamado “emil_form.php” uname = uname “. $ _GET / $ _POST / etc só funciona em uma conexão http.

Tente colocar um espaço reservado como “%% NAME %%” no seu modelo e replace isso depois de ler o modelo.

  

O modelo será assim:

 Your Name is: %%NAME%% 

Aqui está uma solução alternativa … Use o caminho relativo ou o caminho absoluto como sugerido por “cballou” para ler o arquivo.

Mas insted de wirting um arquivo php use um arquivo de texto simples, coloque seu modelo de mensagem nele substitua com algo único como %uname% (chaves de substituição). Leia o conteúdo do arquivo em uma variável e substitua as chaves de substituição por sua variável assim,

  $url = "/usr/local/path/to/email_form.txt"; $a = "uname"; if(($Content = file_get_contents($url)) === false) { $Content = ""; }else{ $content = str_replace('%uname%', $a, $content); } 

Observe que você teve um erro de nome de arquivo em $ url que wss tentando carregar emil_form.php.

Uma questão secundária parece ser o caminho que você está usando para sua chamada para $ url. Tente fazer um URL completo para analisar corretamente o arquivo, evitando qualquer tipo de modelo que você de outra forma deve fazer. O RTT seria mais lento, mas você não precisaria alterar nenhum código. Isso pareceria:

  $url = 'http://www.mysite.com/email_form.php'; $a = "uname"; if(($Content = file_get_contents($url. "?uname=".$a)) === false) { $Content = ""; }