私のサイトのメイン ファイル (index.php) コードは次のとおりです。
<?php
include 'header.php';
include 'sidebar.php';
include 'content.php';
include 'footer.php';
?>
しかし、「www.domain.com/header.php」と書いてこれらのインクルードファイルをユーザーに見せたくありません。これらのファイルにphpコードを挿入する必要がありますか、それとも可能ですか?
私のサイトのメイン ファイル (index.php) コードは次のとおりです。
<?php
include 'header.php';
include 'sidebar.php';
include 'content.php';
include 'footer.php';
?>
しかし、「www.domain.com/header.php」と書いてこれらのインクルードファイルをユーザーに見せたくありません。これらのファイルにphpコードを挿入する必要がありますか、それとも可能ですか?
いくつかのオプションがあります。
exit
設定されていない場合。これがあなたのためのPHPです。
if(basename(__FILE__) == basename($_SERVER['PHP_SELF'])){exit();}
つまり、呼び出し元のファイルがそれ自体である場合、これは実行を終了します。
ソース: http://thephpcode.blogspot.se/2009/07/creating-include-only-php-files.html
メインファイルで定数を定義し、インクルードファイルでそれを使用して、それらが実際に含まれているかどうかを検出できます。
index.php
<?php
define('REALLY_INCLUDED', true);
include'header.php';
header.php
<?php
if(!defined('REALLY_INCLUDED') || !REALLY_INCLUDED) {
exit();
}
...