PHP включает / требует другой файл расширения как .php - PullRequest
0 голосов
/ 22 октября 2010

У меня есть файл .js с кодом, совместимым для языков php и js.Файл читается и редактируется php, а затем выбирается JS.таким образом, расширение - JS, есть ли способ, которым я могу требовать этот файл в моем сценарии php, и этот файл может нормально выполняться, так как require / include будет работать с файлом .php.

Я не хочу, чтобы Evalсодержимое файла в PHP, потому что Eval является дорогостоящим и рискованным по времени.

Так есть ли способ включить / потребовать файлы с расширением не php как файл php?

edit: содержимое файлов схожек тексту ниже, этот файл читается / пишется php и затем включается в мою страницу посредством простого включения файла js как

$my_array = Array();
$my_array['id_01'] = 100;

Ответы [ 4 ]

1 голос
/ 22 октября 2010

У меня есть файл .js с кодом, совместимым для языков php и js

хммм, да, возможно, но я подозреваю, что ваш код НЕ совместим,Включить / требовать работает независимо от того, что расширение файла.

s есть какой-либо способ, которым я могу требовать этот файл в моем php-скрипте, и этот файл может нормально работать, так как require / include будет работать с файлом .php

Вы, кажется, думаете, что он также не совместим.

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

// <?php

hello_world("I am bilingual!");
1 голос
/ 22 октября 2010

В файле .htaccess:

AddHandler application/x-httpd-php .js

Убедитесь, что для типа содержимого заголовка установлено значение application/javascript, прежде чем что-либо выводить:

header('Content-Type: application/javascript');

РЕДАКТИРОВАТЬ

После прочтения отредактированного вопроса, я думаю, я понимаю.

Если вы возьмете файл JavaScript, в котором есть PHP:

<?php

$var = 'this is a example';

?>
var foo = 'javascript bar';

Вы можете включить этот файл вPHP-скрипт и доступ к переменной $var, однако все, что находится за пределами <?php ?>, будет выведено на экран.Затем вы можете включить этот же точный файл в файл javascript src и получить доступ к переменной foo из JavaScript.Я не знаю, почему вы на самом деле хотели бы сделать это.

Если вы сообщите нам, чего вы пытаетесь достичь, мы можем предложить альтернативные решения.

0 голосов
/ 22 октября 2010

Любой файл любого типа может быть included / required, включая изображения.Для PHP это все относительно просто текст.Все, что имеет значение для выполнения кода PHP - это то, что находится внутри блока <?php ?>.Когда included, весь текст, найденный в тегах открытия / закрытия, будет выполняться как PHP, тогда как все, что снаружи, будет отображаться как обычный текст.

Чтобы проверить это, просто откройте файл .JPG в блокноте, добавьте<?php phpinfo(); ?> до самого конца, сохраните, а затем include этот файл в сценарии PHP, как если бы вы были файлом сценария PHP.Вы увидите кучу текста, но после этого полный дамп phpinfo.Вы даже можете использовать заголовок Content-type: image/jpg, чтобы вывести страницу как истинное изображение, но полный дамп phpinfo все равно будет скрыт внутри.

Редактировать: убедитесь, что вы правильно указали тип mime на странице вывода, так какразвивайте сказанное выше, как любезность посетителю сайта.

0 голосов
/ 22 октября 2010

В вашей конфигурации apache:

AddHandler php-script .js

Это говорит apache обрабатывать файлы * .js как сценарии PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...