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

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

詳細はこちら
PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

3回答

640閲覧

jQueryでphpのソースコードを読み込み、ソースコードを文字列として扱いたいです。

unwind

総合スコア19

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/02/18 07:39

前提・実現したいこと

jQueryでPHPを読み込みます。
jQueryで読み込んだPHPのソースコードを文字列化します。
文字列化したPHPのソースコードをjQueryの変数として扱います。

発生している問題

phpのソースコードの<?php ?>の部分が読み込めないです。

該当のソースコード

html

1<body> 2 <textarea id="write" name="write"></textarea> 3 <button class="download_button">ダウンロード</button> 4</body>

jQuery

1 $(document).on("click", ".download_button", function () { 2 // ディレクトリパス 3 const file_dir = aaa/bbb; 4 // サーバーファイルパス 5 const file_text = ccc.php; 6 // 読み込むファイルパス 7 let file_path = file_dir + "/" + file_text; 8 // ファイルを読み込む 9 $("#write").load(file_path); 10 });

試したこと

$("#write").load(file_path);

のloadの部分をtextにしました。
ですが、textにすると、PHPのソースコードを読むことはなく、ファイルパスを読み込むだけでした。

どうすれば、jQueryを用いて、PHPのソースコードの全文を文字列として読み込むことが出来ますでしょうか。

どうか、皆様方からご助言を頂けたらと存じます。
お手数ですが、宜しくお願い致します。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/02/18 08:08

教材用のphpファイルをダウンロードできる仕組み、って勝手に解釈しましたが、もしも、サーバー上で動作している任意のphpファイルをダウンロードするための仕組みがほしい、ってことじゃないですよね?
javahack

2021/02/19 03:32

他人の書いたPHPのソースコードを盗み見ようとしているようにも捉えられるので、質問の意図を教えてもらえれば幸いです。
unwind

2021/02/22 08:37 編集

m6u様。javahack様。 コメント頂きありがとうございます。 教材用のphpファイルを読み込んで、ソースコードを表示しようとしておりました。 こちらについては、自己解決いたしました。 コメント頂き、誠に感謝いたします。
guest

回答3

0

ベストアンサー

urlを指定してphpファイルを読み込むって、
サーバーでphpの処理を実行した結果として受け取ることになるから、
さもありなん、です。

まったくphpコードを実行しないサーバーなら
webサーバー上でphpコードを実行しないよう設定変更が必要になるでしょうが、
同じurlの呼び出しで、
片や処理を実行、片やファイルとして単に読み込む、
なんてのは無理なんじゃないかと思います。

ダウンロード用phpファイル置き場のディレクトリを決めて、
そのディレクトリでphpを実行しないように対策するってことです。

apache httpdをwebサーバーにつかっている場合、
かつ.htaccessにてディレクトリ単位で設定変更ができる場合は、
この事例が参考になるでしょうか。

【apache】特定のディレクトリの中はphpを実行できないようにする at softelメモ


あるいは、ファイルのダウンロード処理用phpを起こして、
Content-Disposition: attachment; filename="~~~.php"
ってなるような応答ヘッダーを作れば、それでもいいかもね。

【PHP】正しいダウンロード処理の書き方 - Qiita

投稿2021/02/18 07:50

編集2021/02/18 08:07
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

unwind

2021/02/22 08:38

m6u様。 コメント頂きありがとうございます。 なるほど。そういう書き方もあるんですね。
guest

0

おっしゃる意味がよくわかりませんが
PHPはサーバーサイドの言語ですから、サーバー側で予めそういう
仕組みが用意されていないかぎりクライアント側からソースを読むことはできません

投稿2021/02/18 07:47

編集2021/02/18 07:48
yambejp

総合スコア116661

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

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

unwind

2021/02/22 08:36

yambejp様。 コメント頂きありがとうございます。 なるほど。サーバー側であらかじめ仕組みが用意されていないといけないんですね。
guest

0

一番簡単なのは表示したいファイルに対して拡張子を変えたシンボリックリンクを作ってそちらにアクセスする事
シンボリックリンク作成コマンド
ln -s index.php index.phps

アクセス時URL(のファイル名)
index.phps

投稿2021/02/18 07:58

hentaiman

総合スコア6426

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

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

unwind

2021/02/22 08:41

hentaiman様。 コメント頂きありがとうございます。 シンボリックリンク作成コマンドというものがあるんですね。 そちらの方も考えましたが、iframeタグとphpのhtmlentities関数を用いてみたら、うまく動作しました。
hentaiman

2021/02/22 08:46

ほう・・・ちょっとよく分かりませんがiframeで解決するような問題となるとやりたい事と質問文があってないような気がするので、この回答を参考にしても無駄かもしれません この回答は飽くまでphpソースをそのまま丸ッと表示する為のものです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問