Necesito cargar un archivo PHP en una variable. Me gustainclude();
He cargado un archivo HTML simple como este:
$Vdata = file_get_contents("textfile.txt");
Pero ahora necesito cargar un archivo PHP.
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 un archivo .txt:
$Vdata = file_get_contents('path/to/YOUR/FILE.php');
eval()
o si está tratando con un código más complicado: github.com/nikic/PHP-Parser .$Vdata = file_get_contents(get_template_directory_uri() . '/path/to/file/in/theme.text');
ob_get_clean ()
fuente
$myvar = ob_get_clean();
(consulte la documentación de ob_get_clean )Si está utilizando http: // , como sugirió eyze, solo podrá leer la salida del script PHP. Solo puede leer el script PHP en sí mismo si está en el mismo servidor que el script en ejecución. Entonces podrías usar algo como
fuente
Si desea cargar el archivo sin ejecutarlo a través del servidor web, lo siguiente debería funcionar.
Esto cargará y luego evaluará el contenido del archivo. El archivo PHP deberá estar completamente formado con etiquetas
<?php
y?>
paraeval
poder evaluarlo.fuente
En teoría, podría usar fopen y luego usar stream_get_contents.
Eso debería leer todo el archivo en $ string por usted, y no debería evaluarlo. Aunque me sorprende que file_get_contents no funcionara cuando especificaste la ruta local ...
fuente
Alternativamente, puede iniciar el almacenamiento en búfer de salida, realizar una inclusión / solicitud y luego detener el almacenamiento en búfer. Con ob_get_contents (), puede simplemente obtener el material generado por ese otro archivo PHP en una variable.
fuente
Si su archivo tiene una declaración de devolución como esta:
Puede llevar esto a una variable como esta:
fuente
file_get_contents () no funcionará si su servidor tiene allow_url_fopen desactivado. 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 desactivada. Así que este es un método muy malo para usar.
Su mejor opción para usar si está accediendo al archivo a través de http es cURL
fuente