🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

include

あるファイルで定義された関数や処理を、別のファイル上でも使用できるようにするプロセスをincludeと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

931閲覧

phpファイルをテキストとして読み込みたい

Res

総合スコア184

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

include

あるファイルで定義された関数や処理を、別のファイル上でも使用できるようにするプロセスをincludeと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2019/11/19 10:48

編集2019/11/19 11:48

お世話になります。

今回、Web上でテキストエディタを作成しようと思い、作成していたのですが、phpファイルを読み込むときにphpファイルのコードが出力されず、出力結果が表示されてしまうので、phpのコードもそのまま表示させたいので、この質問をさせていただきます。

sample.php

html

1<textarea name="text"> 2 <?php include "test.php"; ?> 3</textarea>

test.php

php

1<?php 2echo "Sample!"; 3?>

というコードを書いたのですが、phpファイルなので実行されてしまい結果がSample!になってしま<?php echo ...>とそのまま出力されません。どのようにしたらテキストとしてそのままPHPコードも表示させることができるのでしょうか。
よろしくお願いたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/11/19 11:16

>phpファイルを閲覧するものを作成するために IDEじゃダメなんでしょうか?大目的がわかりません。
Res

2019/11/19 11:48

目的は追記しました。 あと、IDEとは何ですか?初めて聞きました。
Res

2019/11/19 11:53

IDEって統合開発環境のことなんですね。androidstudioとかそのへんのものですよね。 あと勘違いさせてすみません。
m.ts10806

2019/11/19 12:30

>androidstudio はい。PHPを扱うのでしたら有料だとPhpStorm、無料だとEclipseなどが有名です。 >今回、Web上でテキストエディタを作成しようと思い 既にあるものですね。 https://teratail.com/questions/125307
Res

2019/11/19 12:33

IDEって便利そうですね。できれば今度試してみます。
guest

回答2

0

ベストアンサー

もしかして
PHP: include - Manual

include 文は指定されたファイルを読み込み、評価します。

を単にファイルを読み込むことができるもの、と勘違いしちゃっているのかな。
「評価します」の方が重要で、ファイルから読み込んだ部分を(phpコードとして)実行しますよ処理ますよってことなんです。

本来の目的のファイルを読み込んで変数に格納したりするためには
PHPでファイルの読み込みをする主な4つの方法
の記事が参考になるかと思います。

ただし、読み込んだテキストをそのまま出力してしまうと、
記号の並びなどによっては
(ファイル上) → (実際の表示)
& → &
< → <
> → >
' → '
" → "
などと変換(?)されて表示されてしまいます。
htmlとして出力する場面に普通のテキストを出力するためには
「何故htmlspecialcharsを通すのか?」を一言でどうぞ - Qiita
にある事例の通りhtmlspecialcharsを駆使して表示が乱れないようにする必要がありそうです。

投稿2019/11/19 12:14

編集2019/11/19 12:19
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Res

2019/11/19 12:29

>を単にファイルを読み込むことができるもの、と勘違いしちゃっているのかな。 詳しく説明していただいてありがとうございます。 includeでphpが実行されるのはわかっていたのですが今回作成したときすっかり忘れ切っていました???? readfileという関数で思い通りの結果が出たのでありがとうございます。
退会済みユーザー

退会済みユーザー

2019/11/19 12:38

思い通りの表示になったかもしれませんが、 phpファイル中に、回答に書いたような記号の並びを置いた場合、 化けませんか?
Res

2019/11/19 12:45

textarea内は化けていませんが...
退会済みユーザー

退会済みユーザー

2019/11/19 12:53

それなら良かったです。
Res

2019/11/20 06:28

はい。ありがとうございます。
guest

0

file_get_contents あたりを使用するのが楽です。
適当にエスケープして表示してやるとよいかと。

投稿2019/11/19 10:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Res

2019/11/19 11:02

file_get_contentsでphpのコードそのまま取得できるのですか!?
退会済みユーザー

退会済みユーザー

2019/11/19 11:15 編集

試せばよいし、マニュアル見ても良いかと。
退会済みユーザー

退会済みユーザー

2019/11/19 11:16

あー切り分けしない人か。。。気が付かなかった。 好きにやればイイと思うよ。
Res

2019/11/19 12:36 編集

はい。好きにやります。。
Res

2019/11/19 12:34

file_get_contentsでもできるんですね! 単に出力結果を取得するものだと思ってました。。 回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問