Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bestlinux

Função eval

Recommended Posts

Ola Galera,

 

Então....eu tenho o seguinte codigo:

 

$fp = fopen("$link", "rb");

while(!feof($fp))

{

$char .= fgetc($fp);

}

 

$char=str_replace('<'.'?php','<'.'?',$char);

$char='?'.'>'.trim($char).'<'.'?';

eval($char);

 

 

Na linha:

 

eval($char)

 

Ele mostra o conteudo da variavel $char tratado pela função eval.

 

Mas eu gostaria de guardar em uma variavel o conteudo da variavel $char tratado pela função eval. Tem como fazer isso ??

 

Por que se faço:

 

$variavel = eval($char)

 

Não funciona http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

 

Falow ! http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função eval serve pra interpretar uma string como se fosse código PHP. Por exemplo:

 

<?php

$string = "echo \"blá blá\";";
eval($string); // executa o echo imprimindo "blá blá"

?>

 

Portanto, ela não faz qualquer tratamento ou alteração na variável. O que você quer, você já tem armazenado na variável $char. ;)

 

[]'s!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pelas respostas :D

 

 

Mas então....olha que acontece. Quero enviar um email contendo o conteudo da variavel $char, estou usando o seguinte codigo para enviar email:

 

 

 

$char=str_replace('<'.'?php','<'.'?',$char);

$char='?'.'>'.trim($char).'<'.'?';

eval('$variavel=$char');

 

 

$contactemail = "dro@tozzinifreire.com.br";

$subject = "Teste";

 

$headers = "MIME-Version: 1.0

Content-Type: multipart/alternative; boundary=".$boundary."

X-Mailer: PHPmailer

From: Marcos

";

 

$message = "

--$boundary

Content-Type: text/plain; charset=ISO-8859-1

Content-Transfer-Encoding: quoted-printable

 

$variavel

 

--$boundary

 

--$boundary

Content-Type: text/html; charset=ISO-8859-1

Content-Transfer-Encoding: quoted-printable

 

$variavel

 

--$boundary--

 

 

";

 

if (mail($contactemail, $subject, $message, $headers))

{

echo "<b>Mala Direta enviada para $email1</b><p>";

}

 

Mas o email esta chegando todo em branco......ou seja, parece que a variavel $variavel não tem nenhnum conteudo.... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

 

O que sera que esta acontecendo ??? :wacko:

 

Falow !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que seja por estar faltando um ";" aqui:

eval('$variavel=$char;');

 

Você pode substituir essa linha simplesmente por:

$variavel = $char;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então.....

 

Mas o mais estranho...é que o email chega como se a variavel $char não tivesse sido tratada pela função eval.....

 

Ou seja, chega a maior bagunça....chega um monte de tags php.....

 

Mas isso acontece somente quando mando email....por que quando exibo na tela a variavel $char.....aparece certinho....com as tags php convertidas.....

 

O que pode ser ?? http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu parei para ver seu código agora e vi várias coisas que podem estar causando o problema.

 

Tem algumas inconsistência no código, seria bom você dar uma revisada... lembrando que uma mensagem HTML geralmente é identificada por text/html.

 

De uma olhada na referencia, principalmente nos comentários dos usuários:

http://www.php.net/mail

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.