.PHTML

PHTML ファイル

PHP Web Page
質問する
クイック回答

.phtmlファイルはサーバーサイドのPHPスクリプトであり、HTMLとPHPコードが混在したプレーンテキストです。ウェブサーバーがPHPを実行し、ブラウザにはプレーンなHTMLを送信します。エンドユーザーが.phtmlのソースコードを直接受け取ることはありません。閲覧や編集には、テキストエディタやPHP IDEを使用します。現在、.phtmlが最も一般的に使用されているのは、Magento (Adobe Commerce) のテーマテンプレートです。

開発元: The PHP Group (PHP language); Apache Software Foundation (server association) カテゴリ: インターネットファイル MIME: application/x-httpd-php
対応OS Windows macOS Linux
関連: .CRDOWNLOAD · .JNLP · .WEBARCHIVE · .PART

このページの内容

19k+ 個の拡張子を索引済み
最終確認日:Jul 30, 2026

ファイルの種類がわかりませんか?

ファイルを識別ツールにドロップしてください。最初の数バイトを読み取って形式を特定します。

ファイルを識別する

PHTML ファイル形式とは?

.phtmlファイルは、HTMLマークアップとPHPコードブロックを混在させたサーバーサイドのPHPスクリプトで、機能的には標準的な.phpファイルと同一です。唯一の大きな違いはファイル拡張子です。

ウェブサーバーが.phtmlファイルへのリクエストを受け取ると、そのファイルをPHPインタープリタに渡します。PHPは埋め込まれた <?php ... ?> ブロックを実行し、生成されたHTMLをクライアントのブラウザに出力します。ブラウザがPHPのソースコードを見ることはありません。これが機能するためには、サーバー側で.phtmlをPHPとして扱うように明示的に設定する必要があります。Apacheの場合は(.htaccessまたはhttpd.confで)AddHandler application/x-httpd-php .phtmlディレクティブが必要です。Nginxの場合は、対応するfastcgi_paramのマッピングが必要になります。この設定がない場合、サーバーはPHPのソースコードをそのまま訪問者に配信してしまう可能性があり、情報漏洩のリスクとなります。

.phtml拡張子は、PHPがHTMLテンプレートファイルに直接埋め込まれることが一般的だった1990年代後半のPHP 3および初期のZend Engine時代に誕生しました。Zend Frameworkで継続的に採用されたことで定着し、現在もMagento (現 Adobe Commerce) のビューレイヤーのテンプレートファイルとして活発に使用されています。

セキュリティの観点からは、.phtmlはファイルアップロードのバイパス(回避)の古典的な標的です。.phpのアップロードをブロックするフィルタが、.phtml.php5.php3などの類似バリアントを見落としていることが多く、任意のPHP実行を許してしまう可能性があります。

関連するフォーマットには、通常の.phpスクリプトや.phpsファイル(PHPソース表示用)があります。マジックバイトや内部的なバージョニングは存在せず、PHPランタイムのバージョンは完全にサーバーの設定によって決定されます。

セキュリティと安全性

リスク: HIGH

.phtmlファイルはサーバー上で任意のPHPコードを実行するため、.phpと同じリスクがあります。重大なセキュリティ上の問題:(1) ウェブアプリのファイルアップロードフォームが.phpをブロックしつつ.phtmlを許可している場合、攻撃者は.phtml拡張子のPHPウェブシェルをアップロードし、サーバー上でリモートコード実行を行う可能性があります。(2) サーバーが誤って.phtmlのソースを公開してしまった場合(PHPハンドラが設定されていない場合)、コード内の認証情報やデータベース接続文字列が公開されます。サーバー管理者は、PHPハンドラ設定に.phtmlを明示的にリストし、アップロードディレクトリでの .php, .phtml, .phar, .php3, .php4, .php5 のスクリプト実行を拒否すべきです。

形式の詳細

概要
正式名称PHP Web Page別名 PHP HTML file, PHP template
開発元The PHP Group (PHP language); Apache Software Foundation (server association)登場時期 circa 1997-1998 (early PHP 3/Zend era)
MIME タイプapplication/x-httpd-php
タイプサーバーサイドPHPスクリプト(テキスト、HTML+PHP混在)

PHTML ファイルを開くプログラム

Windows4 apps
Notepad オープンソース .phtmlファイルを開き、構文ハイライトのために言語をPHPに設定します(言語メニュー → P → PHP)。
Visual Studio Code オープンソース .phtmlファイルを開くと、PHP構文がネイティブでハイライトされます。完全なIntelliSenseを利用するには «PHP Intelephense» 拡張機能をインストールしてください。
PhpStorm 有料 ネイティブで.phtmlをPHP+HTMLに関連付けます。Magentoテンプレートの完全なIDEサポートを提供します。
Apache + PHP (XAMPP) オープンソース .phtmlをhtdocsに配置し、Apacheの設定に «AddHandler application/x-httpd-php .phtml» があることを確認してから、http://localhost/file.phtml 経由でアクセスします。
macOS1 app
PhpStorm 有料 ネイティブで.phtmlをPHP+HTMLに関連付けます。Magentoテンプレートの完全なIDEサポートを提供します。
Linux3 apps
Zend Studio 有料 .phtmlをサポートするPHP IDEです。.phtmlテンプレートを含むプロジェクトを開きます。
Visual Studio Code オープンソース .phtmlファイルを開くと、PHP構文がネイティブでハイライトされます。完全なIntelliSenseを利用するには «PHP Intelephense» 拡張機能をインストールしてください。
Apache + PHP オープンソース apache2.confまたは.htaccessに «AddType application/x-httpd-php .phtml» を追加すると、.phtmlファイルがPHPとして実行されます。

技術的詳細

詳細仕様
実行モデルPHPインタープリタによってサーバーサイドで処理され、クライアントはレンダリングされたHTML出力のみを受け取る
エンコーディングプレーンテキスト、UTF-8推奨(歴史的にはASCIIまたはLatin-1)
コード区切り文字<?php ... ?> (標準); <?= ... ?> (短縮echo); <? ... ?> (短縮タグ、非推奨)
MIMEタイプapplication/x-httpd-php; サーバー設定により text/html や text/x-php となる場合もある
Apache設定実行には .htaccess または httpd.conf での AddHandler application/x-httpd-php .phtml が必要
Nginx設定.phtmlをPHP-FPMにマッピングする fastcgi_param または location ブロックが必要
主なユースケースMagento (Adobe Commerce) のビューレイヤーテンプレート、レガシーなZend Frameworkのビュー
.phpとの機能的な違いなし - 処理は同一であり、ファイル拡張子のみが異なる
セキュリティリスクファイルアップロードフィルタの古典的なバイパス手法:.phpはブロックしても.phtmlを見落とすと、任意のPHP実行を許すことになる
ファイルサイズ通常 1 KB - 500 KB
PHPバージョンのサポートPHP 4からPHP 8.xまで互換性あり。バージョン間でのフォーマットレベルの変更はなし
関連OSLinux (Apache/Nginx), Windows (IIS/Apache), macOS
リリース日circa 1997-1998 (early PHP 3/Zend era)
最新バージョンPHP 8.x (2024); .phtml itself has no versioning
仕様書www.php.net

PHTML の変換

コミュニティ Q&A

ユーザーからの質問
質問する
PHTML ファイルを扱うユーザーからヘルプを得られます。OSやソフトウェアのバージョンなど、具体的に記載してください。
アカウント不要 ・ 通常1日以内に回答されます

まだ質問はありません。PHTML ファイルについて最初の質問をしてみましょう。

よくある質問

.phtmlファイルとは何ですか?
サーバーサイドのPHPウェブページです。HTMLとPHPコードが混在しており、ウェブサーバーによって実行されます。エンドユーザーには結果のHTMLのみが表示されます。主にMagento (Adobe Commerce) のテーマテンプレートで見られます。
.phtmlファイルを開くにはどうすればよいですか?
ソースを閲覧・編集するには、VS Code、Notepad++、またはPhpStormを使用します。実行するには、.phtml用にPHPが設定されたウェブサーバーに配置し、ブラウザ経由でアクセスしてください。
.phtmlファイルを開くとブラウザにPHPコードがそのまま表示されるのはなぜですか?
ブラウザはPHPを実行できません。ファイルはPHPが有効なウェブサーバー(PHPモジュールを備えたApache/Nginxなど)を介して提供される必要があります。ディスクから直接開くと、生のソースコードが表示されます。
.phtmlは.phpと同じですか?
機能的には「はい」です。ファイルの内容とPHPの処理プロセスは同一です。違いは拡張子のみです。ApacheやNginxで.phtmlをPHPとして実行するように明示的に設定する必要があります。
.phtmlファイルを使用するプログラムは何ですか?
主にMagento (Adobe Commerce) のビューテンプレートで使用されます。歴史的にはZend Frameworkがビューに.phtmlを使用していました。PHPベースのアプリケーションであれば、どのアプリケーションでもこの拡張子を使用できます。
.phtmlファイルのアップロードを許可しても安全ですか?
いいえ。どちらもサーバー上で実行されるため、.phtmlのアップロードを許可することは.phpのアップロードを許可するのと同じリスクを伴います。アップロードディレクトリでは.phtmlをブロックしてください。

参考文献

1PHP Manual - Apache configuration for PHPwww.php.net
2PortSwigger - File upload vulnerabilities (covers .phtml bypass)portswigger.net

さらに探索

データベース全体から

今週のトップ拡張子

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.NOMEDIAAndroid No-Media Marker File
6.PARTPartial Download File
7.RPMSGRestricted Permission Message
8.EXEWindows Executable (Portable Executable)
9.DBSQLite Database File
10.AVIFAV1 Image File Format (AVIF)

関連する拡張子

.CRDOWNLOADChrome Partial Download File
.JNLPJava Network Launch Protocol file
.WEBARCHIVESafari Web Archive
.PARTPartial Download File
.DOWNLOADPartial / Incomplete Download File
.ASPXActive Server Page Extended (ASP.NET Web Form)

無料ファイルツール

ブラウザで動作するファイル識別および画像変換ツール。すべてお使いのデバイス上で実行されます。

ツールボックスを開く

ファイル拡張子を A-Z で閲覧