Incluir contenido entero de un archivo y lo echo
Pregunta
Necesito hacer eco contenido completo del archivo incluido. He intentado el siguiente:
echo "<?php include ('http://www.example.com/script.php'); ?>";
echo "include (\"http://www.example.com/script.php\");";
Pero ni las obras? ¿Son compatibles con PHP esto?
Solución
Sólo hacer:
include("http://www.mysite.com/script.php");
O:
echo file_get_contents("http://www.mysite.com/script.php");
Notas:
- Esto puede ralentizar su página debido a la latencia de red o si el otro servidor es lento.
- Esto requiere
allow_url_fopen
a estar encendida durante la instalación de PHP. Algunos anfitriones apagarlo. - Esto no le dará el código PHP, te dará la salida HTML / texto.
Otros consejos
manera más corta es:
readfile('http://www.mysite.com/script.php');
Esto se emitirá directamente el archivo.
Echo imprime algo a la memoria intermedia de salida - no es analizado por PHP. Si desea incluir algo, hazlo
include ('http://www.mysite.com/script.php');
No es necesario imprimir el código fuente PHP, cuando estás escribiendo código fuente PHP.
No estoy seguro de lo que estás pidiendo, pero realmente no se puede incluir algo a través de http y esperar para ver el código, ya que el servidor va a analizar el archivo.
Si "script.php" es un archivo local, podría intentar algo como:
$file = file_get_contents('script.php');
echo $file;
Esto puede no ser la respuesta exacta a su pregunta, pero ¿por qué no acaba de cerrar la instrucción echo, insertar su sentencia de inclusión, y luego añadir una nueva declaración de eco?
<?php
echo 'The brown cow';
include './script.php';
echo 'jumped over the fence.';
?>
Matt es correcta con readfile()
pero también puede ser útil para alguien que debe buscar en las funciones de manejo de archivos de PHP
entrada manual para fpassthru
<?php
$f = fopen($filepath, 'r');
fpassthru($f);
fclose($f);
?>