ejemplo - require php
Require_once a la variable (3)
¿Es posible?
Sí, pero necesita hacer una return
explícita en el archivo requerido:
//test.php
<? $result = "Hello, world!";
return $result;
?>
//index.php
$test = require_once(''test.php''); // Will contain "Hello, world!"
Esto rara vez es útil (verifique la respuesta basada en el búfer de salida de Konrad, o file_get_contents
de adam), probablemente se adapten mejor a lo que usted desea.
Quiero llamar a require_once ("test.php") pero no mostrar el resultado y guardarlo en una variable como esta:
$test = require_once(''test.php'');
//some operations like $test = preg_replace(…);
echo $test;
Solución:
prueba.php
<?php
$var = ''/img/hello.jpg'';
$res = <<<test
<style type="text/css">
body{background:url($var)#fff !important;}
</style>
test;
return $res;
?>
main.php
<?php
$test = require_once(''test.php'');
echo $test;
?>
¿"El resultado" presumiblemente es una salida de cadena?
En ese caso, puede usar ob_start
para amortiguar dicha salida:
ob_start();
require_once(''test.php'');
$test = ob_get_contents();
EDITAR Desde la pregunta editada, parece que quiere tener una función dentro del archivo incluido. En cualquier caso, esta sería probablemente la solución (¡mucho!) Más limpia:
<?php // test.php:
function some_function() {
// Do something.
return ''some result'';
}
?>
<?php // Main file:
require_once(''test.php'');
$result = test_function(); // Calls the function defined in test.php.
…
?>
file_get_contents obtendrá el contenido del archivo. Si está en el mismo servidor y se hace referencia por ruta (en lugar de URL), se obtendrá el contenido de test.php. Si es remoto o está referenciado por url, obtendrá la salida del script.