2009-10-12 1 views
1

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

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

могли бы использовать:

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

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

Спасибо :-)

ответ

3

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

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

print_r(get_included_files()); 

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

1

Невозможно сделать это с использованием только 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"; 
} 

?>

 Смежные вопросы

  • Нет связанных вопросов^_^