Включить все содержимое файла и повторить его

Мне нужно повторить все содержимое включенного файла. Я пробовал следующее:

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

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

Но ни один не работает? PHP поддерживает это?


person Elliott    schedule 28.05.2009    source источник
comment
Посмотри на это! stackoverflow .com/questions/171318/   -  person Daniel A. White    schedule 28.05.2009
comment
Что вы пытаетесь сделать именно? Вы хотите повторить результат include() ? Вы хотите повторить содержимое файла, который вы пытаетесь включить?   -  person Boris Guéry    schedule 28.05.2009
comment
Попробуйте повторить содержимое включаемого файла   -  person Elliott    schedule 28.05.2009


Ответы (6)


Просто делать:

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

Or:

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

Примечания:

  • Это может замедлить работу вашей страницы из-за задержки в сети или из-за медленной работы другого сервера.
  • Это требует, чтобы allow_url_fopen было включено для вашей установки PHP. Некоторые хосты отключают его.
  • Это не даст вам PHP-код, это даст вам HTML/текстовый вывод.
person ceejayoz    schedule 28.05.2009
comment
просто скажу вам, не знаю почему, что в моем случае работает только версия include - person João Pimentel Ferreira; 14.06.2017

Самый короткий путь:

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

Это напрямую выведет файл.

person Matt    schedule 28.05.2009

Echo печатает что-то в выходной буфер - это не анализируется PHP. Если вы хотите что-то включить, просто сделайте это

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

Вам не нужно распечатывать исходный код PHP, когда вы пишете исходный код PHP.

person Adam Wright    schedule 28.05.2009
comment
привет, я попробовал это и получил сообщение об ошибке, говорящее, что прямой доступ к файлу не разрешен - person Elliott; 28.05.2009
comment
Похоже, что параметр allow_url_fopen отключен. Если ваш хост это разрешает, вы можете попробовать поместить php_value allow_url_fopen 1 в файл .htaccess. - person ceejayoz; 28.05.2009
comment
Его вопрос был в том, как выполнить конкретную задачу, а не в том, должен ли он это делать. Сказать ему, что он делает и что не нужно делать, не поможет ответить на вопрос. Если его не спросят, его стратегия зависит от него. - person KOGI; 28.05.2009

Не совсем уверен, что вы спрашиваете, но вы не можете включить что-то через http и ожидать увидеть код, так как сервер будет анализировать файл.

Если "script.php" является локальным файлом, вы можете попробовать что-то вроде:

$file = file_get_contents('script.php');
echo $file;
person Pavel Lishin    schedule 28.05.2009

Возможно, это не точный ответ на ваш вопрос, но почему бы вам просто не закрыть оператор echo, не вставить оператор include, а затем добавить новый оператор echo?

<?php
  echo 'The brown cow';
  include './script.php';
  echo 'jumped over the fence.';
?>
person Lou Morda    schedule 09.04.2014

Мэтт прав с readfile(), но кому-то также может быть полезно изучить функции обработки файлов PHP ручной ввод для fpassthru

<?php

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

fpassthru($f);

fclose($f);

?>
person techbio    schedule 22.05.2016