Поэтому я пытаюсь создать тему из своего Html файла. И используя require('file.php')
где file.php
- это серия различных компонентов моей темы. Теперь, когда я напрямую обращаюсь к файлу, я все еще вижу html. Как я могу отобразить пустую страницу, когда пользователь напрямую обращается к file.php
?
Объяснение Итак, скажем, я делаю index.php, и я хочу включить заголовочный файл (header.php
)
Когда я require('header.php')
, все работает отлично. Теперь, когда я пытаюсь получить доступ к header.php
, я могу видеть содержимое html. Как я могу сделать это пустым, а не видеть header.php
? благодаря
В этом случае, если вы хотите выполнить команду header.php
внутри index.php
или т.д. Вам нужно добавить или define
флаг в родительских файлах (везде, где вы хотите, чтобы header.php
выполнялся или просто добавлялся к общему файлу, который вызывается во всех родительских файлах). В файле header.php вам нужно проверить, что определенный флаг установлен или имеет некоторое значение. Если он не установлен, прекратите выполнение с помощью функции die();
функция.
В index.php,
<?php $HeaderAllow ='1'; ?>
В заголовочном файле,
<?php
if($HeaderAllow=='' or !isset($HeaderAllow)){
die();
}
?>
вы можете использовать $_SERVER['SCRIPT_FILENAME']
здесь, чтобы проверить, а затем сделать страницу пустой в header.php
.
<?php
if($_SERVER['SCRIPT_FILENAME'] == 'header.php') {
exit();
}
Помещение включенных файлов в отдельную папку и защиту с помощью .htaccess
- хорошая идея.
Та же проблема здесь.
Самый простой способ - поместить ваши включения в каталог и запретить доступ к этому каталогу в вашем файле.htaccess