ここでは少しばかげているように聞こえるかもしれません。しかし、github からスクリプトをダウンロードしたところ、そのフォーム送信の 1 つが、単一の php ファイルではなく、フォルダー/ディレクトリへのフォーム入力を実際に参照していることに気付きました。
ここでの私の質問は、これが事実である場合、フォルダー自体内のすべてのスクリプトが $_POST フォームの入力結果を取得できるということですか?
そのフォーム送信は、実際にはフォーム入力をフォルダー/ディレクトリに参照します
HTTP URI では、そのようなことはありません。すべての URI はリソースを指します。そのリソースに応答する方法を決定するのはサーバー次第です。
URI 内のディレクトリのように見えるものは、ファイル システム上の実際のディレクトリにマップされる場合があります。Web サーバーは通常、DirectoryIndex
ディレクティブのようなものを使用してデフォルト ファイルを使用します。
上のいくつかのレベルでファイルにマップし、それによって処理される場合があります。つまり、URI から読み取り、それに対して何かを実行しますhttp://example.com/foo.php/bar/baz/
。foo.php
/bar/baz/
内部的に別のスクリプトにマップする明示的なマッピング (ScriptAlias
ディレクティブなど) がある場合があります。
正規表現を使用して別のものにマップする (おそらく「ディレクトリ」を別のクエリ文字列パラメーターに分割する) プログラムによるマッピング (mod_rewrite など) がある場合があります。
他にも多くの可能性があります。
ここでの私の質問は、これが事実である場合、フォルダー自体内のすべてのスクリプトが $_POST フォームの入力結果を取得できるということですか?
理論的には、ファイル システム上のディレクトリ内のすべてのスクリプトに POST 要求が渡され、複合応答が返されるようにサーバーを構成することは可能です。私は誰もそれを試している(または試してみたい)人を見たことがありません。上記の説明のいずれかがはるかに可能性があります。
あなたが次のようなことについて話していると仮定します:
<form method='post' action='some/directory'>
Web サーバーによってディレクトリ インデックスとして提供されるファイル (例: index.php
) がフォーム ポストを受信し、入力を処理することが期待されます。したがって、フォームをディレクトリに投稿するのではなく、ディレクトリにアクセスしたときに Web サーバーが実行する既定のファイルに投稿します。
タグのaction=
属性は、<form>
相対または絶対 URI である必要があります。実際の既存のファイルを指している必要はありません。ディレクトリ インデックス ルール、書き換えルールなどに基づいて実行するスクリプトを決定するのは、Web サーバー次第です。