Pergunta

Eu preciso echo todo o conteúdo do arquivo incluído. Eu tentei a seguir:

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

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

Mas nem obras? O PHP suportar isso?

Foi útil?

Solução

Basta fazer:

include("http://www.mysite.com/script.php");

Ou:

echo file_get_contents("http://www.mysite.com/script.php");

Notas:

  • Isto pode abrandar sua página devido a latência da rede ou se outro servidor está lento.
  • Isto requer allow_url_fopen que estar ligado para sua instalação PHP. Alguns anfitriões desligá-lo.
  • Isto não vai dar-lhe o código PHP, ele vai dar-lhe a saída de HTML / texto.

Outras dicas

caminho mais curto é:

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

Isso vai diretamente a saída do arquivo.

eco imprime algo para o buffer de saída - não é analisado pelo PHP. Se você quiser incluir algo, apenas fazê-lo

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

Você não precisa imprimir o código-fonte PHP, quando você está o código-fonte PHP escrito.

Não sei o que você está pedindo, mas você realmente não pode incluir algo via http e esperar para ver o código, uma vez que o servidor irá analisar o arquivo.

Se "script.php" é um arquivo local, você pode tentar algo como:

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

Esta não pode ser a resposta exata para sua pergunta, mas por que você não apenas perto a instrução echo, inserir sua declaração de incluir, e em seguida, adicione uma nova declaração de eco?

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

Matt está correto com readfile() mas também pode ser útil para alguém para olhar para as funções de manipulação de arquivo PHP entrada manual para fpassthru

<?php

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

fpassthru($f);

fclose($f);

?>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top