Включение файла через переменную - PullRequest
0 голосов
/ 30 июля 2010

Это кажется самой простой вещью в мире, но я не знаю PHP.

Я пытаюсь включить файл на мою страницу, и каталог этого файла указан внутрипеременная.

<?php
    $pageGroup = 'news';
    $directory = 'http://localhost:8888/includes/'.$pageGroup.'/rightCol.html';
    include($directory);
?>

Когда я echo получаю результаты $directory, я получаю "http://localhost:8888/includes/news/rightCol.html",, что совершенно верно. Тем не менее, когда я пытаюсь включить файл в этот каталог, ничегоЯ предполагаю, что это как-то связано с синтаксисом включения.

Любые предложения приветствуются.

Ответы [ 2 ]

0 голосов
/ 30 июля 2010

Убедитесь, что у вас есть настройки allow_url_fopen с php.ini.

Сказав это, есть риски безопасности, связанные с этим, см .:

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

Чтобы включить файлы, не используйте полный путь к URL, используйте только пути к файлам / папкам.

Пример: * ** 1022 тысячу двадцать одна * include "/includes/news/rightCol.html"; // get from specified dir include "../rightCol.html"; // get from parent dir include "../../rightCol.html"; // get from parent parent dir Чтобы включить файлы из корня, вы можете использовать префикс вашего пути:

$_SERVER['DOCUMENT_ROOT'];
0 голосов
/ 30 июля 2010

Вы не хотите включать ресурс http: // из соображений безопасности. Вместо того, чтобы получать его содержимое через file_get_contents , но если это простой элемент страницы, вы можете использовать include без полного URL.

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