2013-09-30 2 views
0

Я добавляю несколько include("file.php"); на несколько страниц php.PHP добавить код на каждую новую страницу

Есть ли способ убедиться, что добавление добавляется к каждой странице PHP, которую я создаю, поэтому мне не нужно вручную добавлять эти строки кода, а также для предотвращения человеческой ошибки. Если это невозможно сделать автоматически, что было бы лучшим способом достичь этого.

Мне нужно сделать это, чтобы я мог сделать что-то вроде проверки того, что пользователь уже прошел аутентификацию, а затем продолжить, а затем перенаправить на страницу входа.

+1

Если PHP является классом, проверьте функцию '__autoload' в PHP: http://php.net/manual/en/language.oop5.autoload.php – Raptor

ответ

3

Вы хотите использовать auto_prepend_file. Установите эту директиву в файле php.ini или .htaccess на путь к файлу file.php, и любой доступ к файлу PHP автоматически добавит содержимое файла конфигурации.

Для .htaccess

php_value auto_prepend_file /full/path/to/file/file.php 

или Попробуйте

foreach (glob("classes/*.php") as $filename) 
{ 
    include $filename; 
} 
+2

Похоже, что это перебор. Я бы порекомендовал 'require.php', содержащий все пути' php', необходимые для загрузки и использования функции '__autoload'. – Raptor

+1

Можете ли вы разместить код примера? – nizx

1

Если PHP классы ООП & PHP 5 используется, вот способ для загрузки классов ТОЛЬКО тогда, когда они необходимы:

$class_dir = array(
    'some/class/path/model/', 
    'some/class/path/dao/', 
    'some/class/path/service/', 
); 
function __autoload($class_name) { 
    global $class_dir; 
    foreach ($class_dir as $directory) { 
     if (file_exists($directory . $class_name . '.php')) { 
      require_once($directory . $class_name . '.php'); 
      return; 
     } 
    } 
} 

Код: PHP 5 Autoload

+1

Большое спасибо, но они не являются классами, поэтому я буду отмечать другой ответ как правильный, но ваш тоже правильный. Очень большое спасибо. – nizx

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