インクルード方法まとめ!【SSI/PHP】

インクルード 備忘録
こんにちは、なっちる先生(@nacchi_jagariko)です。

大学中退後、プログラミング完全未経験から就職し、絶賛リモートワーク中のものです。

 

作業中にこんなことが。。。

外部ファイル取り組むのってどうやるっけ。

インクルードだろうけどすぐ忘れるわ〜

ということで、「外部ファイルを取り込み方のまとめ」を備忘録として書いていきます〜

SSI(サーバーサイドインクルード)によるinclude

PHPを使ったinclude

「おまけ」htmlファイル内でphpを使えるようにする

さて行きましょう〜

スポンサーリンク

 SSI(サーバーサイドインクルード)によるinclude

例えば以下のような階層構造になっている場合
project
– index.html
– hoge – header.html
– fuga – index.html
fuga/index.html内でheader.htmlをインクルードしたいとします。
「include」で調べたらすぐに <!–#include file=”○○○”> が出てくるので

「あ〜簡単簡単〜include fileね、はいはい」とやってみると。。。

 

できない、、、!!!

そうなんです。これじゃあできません。

includeには「file」「virtual」の二種類がありまして(参考↓)

インクルード文を記入するファイル(ここでいうheader.html)が
インクルードしたいファイル(ここでいうfuga/index.html)より
上層にある(相対パスで書くときに../などがつく)ときはfileは使えないのです。
すなわち「virtual」を使わなければいけないのでした。
ちなみに「virtual」はパスを絶対パスで書いて大丈夫です。
1. 上層ファイルをインクルードする、絶対パスでパスを書くときは「virtual」
2. それ以外は「file」。
 SSIが使えない場合、Javascriptでも対応できるみたいですね!(便利)
スポンサーリンク

 PHPによるinclude

ずばりこちらです。

パスの部分については、こちらが詳しいので参照してみてください→【PHP】include, requireの安全なパスの書き方と違い

パスを相対パスで書くとディレクトリごとに違う記述を書かないといけなくなるので、絶対パスで書くこと推奨です。

もちろんphpが使えるところにて動きますよ〜。

htmlファイルでphpを使いたいときは以下を参照してみてください。

【おまけ】htmlファイルでphpを使いたいとき

こちら詳しく書かれているので参照してみてください→htaccessに3行足すだけ!『.html』内でPHPを実行する方法!
結論、こちらをhtdocs/.htaccessファイルに設定するだけですね。

SetHandlerの方がセキュリティ的にいいらしい。(→ApacheのAddHandlerはセキュリティ上の懸念から使用すべきではない

設定するのぞくぞくしますね〜

以上で今日の授業を終えますよー!

備忘録
スポンサーリンク
なっちる先生をフォローする
なっちる先生
タイトルとURLをコピーしました