Как включить текстовый файл в PHP как PHP, без печати на страницу?

Я делаю себе веб-страницу, которая просто перенаправляет на один из списка других сайтов при загрузке страницы. Чтобы упростить редактирование списка сайтов, я переместил список в отдельный текстовый документ. После включения файла в код PHP, браузер возвращается к анализу HTML и обратно, когда включено. В результате мой код печатается на экране, а не выполняется. Я не могу реализовать заголовки и теги PHP в текстовом файле, так как это приведет к нарушению цели сохранения его внешнего. В настоящее время у меня есть другой скрипт, который позволяет мне добавлять ссылки на файл, если я хочу их добавить.

index.php, файл, с которым я работаю

<?php $array_content = array(include 'sites.txt'); header("location: ".$array_content[rand(0,9)]); ?> 

site.txt, файл, который я включаю

  "http://www.nsa.gov/" ,"http://www.youtube.com/watch?v=oHg5SJYRHA0" ,"http://leekspin.com/" 

Есть ли способ просто вставить текстовый файл в index.php, не распечатывая его на экране?

Тебе не следует!

Разберите его как текст (например, разделив содержимое пробелов и разделив его запятыми) или, менее предпочтительно, сделайте содержимое PHP-кодом, а затем включите его, используя include .

Разбор TXT-файла в виде текста

Вы, вероятно, должны придерживаться разбора файла как текста – для этого вы можете использовать функцию file() . file() читает весь файл и возвращает его содержимое в виде массива строк (с завершением строки). Вы можете делать все, что вам нужно, с такими данными (например, отключите его от запятых и пробелов).

PHP-код внутри включенного файла

Если вы выберете первый (в том числе PHP-код в TXT-файле, что является плохой идеей, если вы хотите sites.txt доступ к sites.txt ), вы должны попытаться не загрязнять глобальное пространство имен. Вы можете достичь этого, используя решение, упомянутое другими ответами:

  • в sites.txt :

     <?php return 'your string goes here'; 
  • в вашем скрипте:

     <?php $my_string = include('sites.txt'); 

Худшее решение – eval()

Просто включив его по информативным причинам. Если у вас есть PHP-код в вашем TXT-файле, вы можете использовать eval() для разбора его как PHP-кода. Но помните – eval() – это зло , избегайте его любой ценой.

Что вы хотите, это parse_ini_file() fn:
http://php.net/manual/en/function.parse-ini-file.php

Вы можете легко управлять своим списком в отдельном файле и импортировать его как массив для использования без особых проблем.

Вы смешиваете код с данными. Txt-файл – только txt. Что вам нужно сделать, это сохранить его в формате открытого текста. Поскольку есть только одно поле, я бы рекомендовал плоский файл, состоящий из имен файлов, разделенных символами новой строки.

Sitenames.txt:

 site1.com site2.org site3.net 

PHP-код для извлечения файлов:

 $siteList = file('/path/to/Sitenames.txt'); 

Затем вы можете выполнять любые операции из извлеченного списка.

Предложение:

Сохраните свой "sites.txt", как это,

 <?php $array_content = array( "http://www.nsa.gov/", "http://www.youtube.com/watch?v=oHg5SJYRHA0", "http://leekspin.com/" ); ?> 

и затем, "index.php"

 <?php include('sites.txt'); header("location: ".$array_content[rand(0,9)]); ?> в <?php include('sites.txt'); header("location: ".$array_content[rand(0,9)]); ?>