拡張子に拠る表示の違い モヤモヤが解消した・・・
左の赤い枠内のブックマークでは「404 error」と表示されてしまうモヤモヤが解決した気がする。
そもそも「404 error」の表示は、ドメイン直下に表示したいファイルを直接指定しても表示されないみたいだ。
何故なら公開フォルダを設定しているのに、このリクエストでは公開フォルダが抜けているからだった・・・
そこまでは何とか理解したのだが、「拡張子によってphpコードが実行されなかったり、HTMLコード内でphpの変数が有効にならない」なんてことは、実務に携わっている方々は常識の範疇ではあろうが、自分は独学なものでそこのところが甘かったが、案外いい勉強になった。
どうやってモヤモヤが解消したのか・・・。近くに詳しい人もいないのでChatGPTは最強のパートナーになった。
ChatGPTの回答は下記に示す通りです。
理由
サーバーはファイルの拡張子に基づいて、どのようにファイルを処理するかを決定します。.php
拡張子のファイルはサーバー側で PHP インタープリタによって処理され、PHPコードが実行されますが、.html
拡張子のファイルは通常、静的ファイルとして扱われ、そのままブラウザに送信されます。結果として、PHPコードは実行されず、単なるテキストとして扱われてしまいます。
対策
.html
ファイルでも PHP を使いたい場合は、以下の方法があります。
1. ファイルの拡張子を .php
に変更する
最も一般的な方法です。ファイルを .html
から .php
に変更すると、サーバーがそのファイルを PHPとして処理します。
2. .htaccess
で設定を変更する
Apacheを使用している場合、.htaccess
ファイルを編集して、.html
ファイルでもPHPを処理できるように設定することができます。以下のコードを .htaccess
に追加します。
これにより、.html
ファイルも PHP インタープリタで処理されるようになります。
3. include
や require
を使用する
.html
ファイルの中に PHP ファイルを include
や require
で組み込むことで、部分的に PHP を使用することも可能です。
これにより、PHPのコードを別ファイルに分離して実行できます。
結論
.html
ファイルではデフォルトでPHPコードは実行されませんが、設定を変更することで実行可能にすることができます。
具体的には、<?php include 'some_php_file.php'; ?>
というコードは、PHPの include
構文を使って外部のPHPファイルを現在のスクリプトに読み込み、実行するためのものです。この場合、some_php_file.php
は読み込むファイルの名前を指します。
例:
もし、同じディレクトリ内に some_php_file.php
というファイルが存在し、そのファイル内に次のようなコードがあったとします。
このファイルを include
すると、現在のスクリプト内で $name
変数が使用でき、"こんにちは、ユーザーさん!" というメッセージが表示されます。
重要な点:
include
では、指定したファイルが見つからない場合でも、スクリプトは実行され続けますが、require
ではファイルが見つからない場合にエラーが発生し、スクリプトが停止します。- ファイルのパスは、相対パス(同じディレクトリや親ディレクトリ)や絶対パス(サーバーのルートからのフルパス)を指定することもできます。
もし別のディレクトリにファイルがある場合は、適切なパスを指定する必要があります。
投稿者プロフィール
-
asamai-cts Owner
あさまいCTSの代表オヤジです(2024年現在=63歳)
横手市中央町で「ラーメン与市」を2012年まで約15年間を経営。
その後、「横手市雇用創出協議会 実践支援員」を経て、一時会社勤めをするが再度、自営業の世界に戻る。
現在の「あさまいCTS」は2019年1月に起業。業務内容は主に、パソコンの修理、出張スマホ・パソコン教室、ホームページ作成 その他 何でも屋みたいなものです・・・
最新の投稿
- 備忘録2024年10月22日63歳からの挑戦-07 ここまで出来た
- 備忘録2024年10月8日63歳からの挑戦-06
- 備忘録2024年10月6日63歳からの挑戦-05 拡張子に拠る表示の違いについて
- 備忘録2024年9月29日63歳からの挑戦-04