2009-05-28 15 views
9

Necesito hacer eco de todo el contenido del archivo incluido. He intentado lo siguiente:Incluir todo el contenido de un archivo y repetirlo

echo "<?php include ('http://www.example.com/script.php'); ?>"; 

echo "include (\"http://www.example.com/script.php\");"; 

¿Pero ninguno funciona? ¿PHP soporta esto?

+0

¿Qué está tratando de hacer exactamente? ¿Desea hacer eco del resultado de include()? ¿Desea hacer eco del contenido del archivo que intenta incluir? –

+0

Intenta hacer eco del contenido del archivo de inclusión – Elliott

Respuesta

16

Just Do:

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 para la instalación de PHP. Algunos anfitriones lo apagan.
  • Esto no le dará el código PHP, le dará la salida HTML/texto.
+1

gracias file_get_contents works :) – Elliott

+0

solo para decirte, no sé por qué, que en mi caso solo el la versión 'include' funciona –

1

Echo imprime algo en el búfer 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.

+0

hola, lo intenté y me salió un error al decir que no se permite el acceso directo a archivos – Elliott

+1

Parece que allow_url_fopen está desactivado. Si su host lo permite, puede intentar poner "php_value allow_url_fopen 1" en un archivo .htaccess. – ceejayoz

+0

Su pregunta era cómo hacer una tarea particular, no si debería o no debería. Decirle lo que hace y lo que no necesita hacer no ayuda a responder la pregunta.A menos que se lo pregunte, su estrategia depende de él. – KOGI

1
+0

este enlace habla sobre las funciones output_buffer de php. Las respuestas proporcionadas hasta el momento en este hilo (por ejemplo: echo, readfile, file_get_contents) simplemente devuelven el contenido literal de un archivo php incluido __ como una cadena__, sin ejecutar nada. Pero las funciones ob _... administran la salida del archivo incluido EJECUTADO. [php ob_start] (http://php.net/manual/en/function.ob-start.php) – dsdsdsdsd

0

No estoy seguro de lo que está preguntando, pero realmente no puede incluir algo a través de http y espera ver el código, ya que el servidor analizará el archivo.

Si "script.php" es un archivo local, podría intentar algo como:

$file = file_get_contents('script.php'); 
echo $file; 
2

manera más corta es:

readfile('http://www.mysite.com/script.php'); 

que se emitirá directamente el archivo.

0

Puede que esta no sea la respuesta exacta a su pregunta, pero ¿por qué no cierra la declaración de eco, inserta su declaración de inclusión y luego agrega una nueva instrucción de eco?

<?php 
    echo 'The brown cow'; 
    include './script.php'; 
    echo 'jumped over the fence.'; 
?> 
0

Matt es correcta con readfile() pero también puede ser útil para alguien que debe buscar en las funciones de manejo de archivos PHP manual entry for fpassthru

<?php 

$f = fopen($filepath, 'r'); 

fpassthru($f); 

fclose($f); 

?> 
Cuestiones relacionadas