Выяснение, какие файлы включены, рендеринг URL с помощью PHP - PullRequest
1 голос
/ 12 октября 2009

Как я могу использовать php, чтобы определить, какие файлы вызываются и включаются только по URL-адресу.

например. URL, www.mydomain.com/index.php

может использовать:

  • index.php
  • includes.php
  • content.html

Я хочу дать php URL-адрес, и он возвращает имена файлов.

Спасибо: -)

Ответы [ 3 ]

3 голосов
/ 12 октября 2009

Вы не сможете сделать это по URL. Для внешнего мира URL-это просто то, что возвращает кучу текста. Ничего не поделаешь, чтобы понять, как был создан этот текст.

Если у вас есть доступ к исходному коду, размещение его в конце вашего файла ввода будет большой помощью.

print_r(get_included_files());

Это распечатает каждый файл, который был включен или необходим. Однако, это не даст вам файл, к которому обращались с помощью fopen, file_get_contents и т. Д. Если вам интересно узнать, был ли данный файл доступ или нет, программа unix stat может сказать вам это. Однако при работе с обычным компьютером файлы доступны по разным причинам, поэтому вам следует быть осторожным, полагаясь на все, что выходит из статистики.

1 голос
/ 12 октября 2009

Невозможно сделать это, учитывая только URL, поскольку PHP поддерживает динамическое включение файлов, и ваш код может иметь разные пути выполнения. Из вашего PHP-скрипта вы можете использовать get_incluided_files () после все файлы были включены.

Вот пример из документации PHP:

<?php
// This file is abc.php

include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';

$included_files = get_included_files();

foreach ($included_files as $filename) {
    echo "$filename\n";
}

?>
1 голос
/ 12 октября 2009

Вам нужна функция get_included_files () .

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