私は好奇心を持っています。 PHPスクリプトにそれ自身が含まれているとどうなりますか?PHP自己ループ(コンセプト)
私が尋ねる理由は、自分のサイトの<head>
タグすべての内容を生成するPHPファイルがあるからです。サイトの404 error page
head
タグが含まれています。
head
タグを生成するphpファイルに直接アクセスする場合は、404 error page
を含めて存在しないと「偽り」し、404 status
をクライアントに返します。
これはファイルシステムは次のようになります。
/
.htaccess <- (apache 404 handling)
404.php <- 404 error page
head.php <- '<head>' generator
...
404.php
は含まれています
<?php
header("HTTP/1.0 404 Not Found");
?>
<html>
<head>
<?php
$key = true;
include dirname(__FILE__) . "/head.php";
?>
</head>
<body>
lul. dead.
</body>
</html>
head.php
は含まれています
<?php
if(isset($key) && $key===true){
//code to generate <head> content
}else{
include dirname(__FILE__) . "/404.php";
}
?>
$key
は、それが別のphpファイルで含まれていたことをhead.php
を伝えます要求していないURL上で評価されます。
、私は直接それが必要(ちょうどhttpリクエストを経て、php includes
経由でアクセスしていない)私のWebブラウザからhead.php
を要求すると、総括する:
(a)の要求がなかったことを実現別のPHPファイルからinclude
、次いで
(B)は
(C)は、(D)は0を含む
、次いで、404.php
のline 2
に404 status
を送信し404.php
を含みます。
したがって、最終的にhead.php
にはhead.php
が含まれます。
これが起こりますか?
私はこれがうまくいくとは思っていませんでしたので、ここに自分の結果をスタックに掲示しています。誰もが見ることができます。 –