¿Cómo puedo cargar un archivo PHP en una variable?
Necesito cargar un archivo PHP en una variable. Como include();
He cargado un simple archivo HTML como este:
$Vdata = file_get_contents("textfile.txt");
Pero ahora necesito cargar un archivo PHP.
8 answers
Supongo que desea obtener el contenido generado por PHP , si es así use:
$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');
De lo contrario, si desea obtener el código fuente del archivo PHP, es lo mismo que a .archivo txt:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-13 16:48:02
ob_start();
include "yourfile.php";
$myvar = ob_get_clean();
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-02 16:11:43
Si está utilizando http://, como eyze sugirió, solo podrá leer la salida del script PHP. Solo puede leer el script PHP si está en el mismo servidor que el script en ejecución. A continuación, podría utilizar algo como
$Vdata = file_get_contents('/path/to/your/file.php");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-13 14:23:07
Si desea cargar el archivo sin ejecutarlo a través del servidor web, lo siguiente debería funcionar.
$string = eval(file_get_contents("file.php"));
Esto se cargará y luego evaluará el contenido del archivo. El archivo PHP tendrá que estar completamente formado con las etiquetas <?php
y ?>
para que eval
lo evalúe.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-13 14:48:15
Teóricamente podría usar fopen, luego usar stream_get_contents.
$stream = fopen("file.php","r");
$string = stream_get_contents($stream);
fclose($stream);
Eso debería leer todo el archivo en string string para usted, y no debería evaluarlo. Aunque me sorprende que file_get_contents no funcionara cuando especificaste la ruta local....
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-13 14:39:42
Alternativamente, puede iniciar el almacenamiento en búfer de salida, hacer un include/require y luego detener el almacenamiento en búfer. Con ob_get_contents (), puedes simplemente obtener las cosas que fueron emitidas por ese otro archivo PHP en una variable.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-13 15:48:39
File_get_contents() no funcionará si su servidor tiene allow_url_fopen apagado. La mayoría de los servidores web compartidos lo tienen desactivado de forma predeterminada debido a riesgos de seguridad. Además, en PHP6, la opción allow_url_fopen ya no existirá y todas las funciones actuarán como si estuviera permanentemente puesta a off. Así que este es un método muy malo de usar.
Su mejor opción para usar si está accediendo al archivo a través de http es cURL
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-13 14:44:31
Si su archivo tiene una declaración de retorno como esta:
<?php return array(
'AF' => 'Afeganistão',
'ZA' => 'África do Sul',
...
'ZW' => 'Zimbabué'
);
Puede obtener esto a una variable como esta:
$data = include $filePath;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-18 10:30:27