Ir para conteúdo

POWERED BY:

Arquivado

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

rafinhaphp

[Resolvido] pegar variavel sem dar include

Recommended Posts

salve galera... seguinte

 

 

eu tenho 2 arquivos, exemplo:

 

home1.php

<?php
 $text = "Lorem ipsum";
?>

 

ai eu tenho outro arquivo chamado "home2.php", neste cara eu quero resgatar a variavel que esta la no "home1.php" mas isso sem dar um include, pois la no home1.php vai ter HTML, funções e tudo mais, e se eu der um include no meu home2.php vai ser exibido estes HTMLs e vai ser execultada essas funções, e isso ñ pode.. como fazer isto? ñ pode ser com include né? ou tem alguma maneira de tipo eu "herdar" a home1.php e poder usar todas as funções e variaveis na minha home2.php ... lembrando que nenhum dos 2 arquivos pode ser uma classe

 

ou então, uma outra possibilidade seria...

 

eu tenho um arquivo home1.php que dentro dele tem uma variavel $masterPage, se esta variavel não existir , eu continuo e incluo este mesmo arquivo, mas se esta variavel existir eu quero incluir o que esta nela, sendo por exemplo $masterPage = "index.php";

 

meio bagunçado , mas acho que deu para entender...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!!

 

Dá pra fazer assim:

 

home1.php

<?php

$exemplo = "Qualquer coisa";

function meio_besta($valor) {
    return $valor;
}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
	<meta name="author" content="">

	<title>Untitled 2</title>
</head>

<body>

<p>Valor: <?php echo mostra_valor($exemplo);?></p>

</body>
</html>

Como você pode ver, é um arquivo php com HTML, provavelmente como o seu. Tem variáveis, tem função, tem HTML... e por aí vai.

 

Agora no seu outro arquivo, faça assim:

 

home2.php

<?php

ob_start(); // inicia o buffer de memória
include 'home1.php';
$conteudo = ob_get_contents(); // guarda o conteúdo do arquivo na variável (parseado normal).
ob_end_clean(); // limpa a memória.

/*
Pronto, agora você pode acessar qualquer variável ou função do seu arquivo incluído. Note que a variável $exemplo
foi definida em home1.php e se você imprimi-la obterá seu valor.
*/

echo $exemplo;

?>

As funções também podem ser chamadas normalmente. É isso!!

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

intom, ñ é o caso de usar session.. porque eu preciso literalmente incluir um arquivo sem que ele seja exibido, pois a ideia e quebrar este cara em partes para poder montar ele novamente em um Layout, ou MASTER PAGE...

 

eu ja encontrei a solução, eu estou usando o ob_start(0;

ficando assim:

 

ob_start();
include("arquivo.php");
$contents = ob_get_contents();
ob_end_clean();	

 

assim eu consigo incluir meu arquivo jogar todo o seu conteudo em uma variavel e depois dar um clear para ñ mostrar nada na tela...

 

isso resolveu meu problema! ^^, mas valew mesmo assim!!

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.