Как я загружаю файл PHP в переменную?

Вот несколько причин того, чтобы иметь другое именование C по сравнению с заголовками C++:

  • Автоматическое форматирование кода, у Вас могли бы быть различные инструкции для форматирования C и код C++. Если заголовки разделяются следовательно, можно установить редактора для применения соответствующего форматирования автоматически
  • Именование, я был на проектах, где были библиотеки, записанные в C, и затем обертки были реализованы в C++. Так как заголовки обычно имели аналогичные имена, т.е. Feature.h по сравнению с Feature.hpp, их было легко сказать независимо.
  • Включение, возможно, Ваш проект имеет в наличии более соответствующие версии, записанные в C++, но Вы используете версию C (см. выше точки). Если заголовки называют после языка они реализованы в Вас, может легко определить все C-заголовки и проверку на версии C++.

Помнят, C не C++, и это может быть очень опасно для смешивания и подгонки, если Вы не знаете то, что Вы делаете. Именование Ваших источников соответственно помогает Вам сказать языки независимо.

90
задан Alix Axel 15 July 2010 в 17:51
поделиться

6 ответов

Я полагаю, вы хотите получить контент , сгенерированный PHP , в таком случае используйте:

$Vdata = file_get_contents('http://YOUR_HOST/YOUR/FILE.php');

В противном случае, если вы хотите получить исходный код PHP файл , это то же самое, что и файл .txt:

$Vdata = file_get_contents('path/to/YOUR/FILE.php');
113
ответ дан 24 November 2019 в 06:57
поделиться

Если вы используете http: // , как подсказал eyze, вы сможете только прочитать вывод PHP-скрипта. Вы можете читать сам скрипт PHP, только если он находится на том же сервере, что и ваш запущенный скрипт. Тогда вы можете использовать что-то вроде

$Vdata = file_get_contents('/path/to/your/file.php");
6
ответ дан 24 November 2019 в 06:57
поделиться

Если вы хотите загрузить файл, не запуская его через веб-сервер, должно работать следующее:

$string = eval(file_get_contents("file.php"));

Это загрузит, а затем оценит содержимое файла. PHP-файл должен быть полностью сформирован с помощью тегов и ?> для eval , чтобы оценить его.

6
ответ дан 24 November 2019 в 06:57
поделиться

Теоретически вы можете просто использовать fopen, а затем использовать stream_get_contents.

$stream = fopen("file.php","r");
$string = stream_get_contents($stream);
fclose($stream);

Это должно прочитать весь файл в $ string для Вам и не стоит его оценивать. Хотя я удивлен, что file_get_contents не

4
ответ дан 24 November 2019 в 06:57
поделиться

В качестве альтернативы вы можете начать буферизацию вывода, выполнить include / require, а затем прекратить буферизацию. С помощью ob_get_contents () вы можете просто получить то, что было выведено другим файлом PHP, в переменную.

2
ответ дан 24 November 2019 в 06:57
поделиться

file_get_contents () не будет работать, если на вашем сервере отключен allow_url_fopen . На большинстве общих веб-хостов он отключен по умолчанию из-за угроз безопасности. Кроме того, в PHP6 параметр allow_url_fopen больше не будет существовать, и все функции будут действовать так, как если бы он был постоянно отключен. Так что это очень плохой метод для использования.

Если вы обращаетесь к файлу через http, лучше всего использовать cURL

1
ответ дан 24 November 2019 в 06:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: