• ベストアンサー

phpファイルについて これはphp形式?のファ

phpファイルについて これはphp形式?のファイルなんですが、 1,php形式のファイルなのに,htmlを書き込めるんですか? 2,doctypeというのはhtml以外どういうのがあるんでしょうか?

  • PHP
  • 回答数5
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

1 .phpのファイルにもhtmlを書き込めるんですね。しりませんでした。 【回答】 そうですね。PHP言語は、「.php」となっていたとしても、ファイルの中身は、 ----- 「<?php」からはじまって「?>」で終わるところまで、または「?>」を閉じなければファイルの終端まで、がPHP言語のソースコードです。 ※ 例示頂いているソースコードなら、単に『<?php」からはじまって「?>」で終わるところまでがPHP言語のソースコードです。』 ----- それの外側にあるものはPHP言語のソースコードとはみなされないです。 2 htmlのバージョンの事を言っているんですか?doctypeというよりhtmltypeということですか? 【回答】 「1」の回答に書いた通り、PHP言語のソースコードとはみなされない部分の記述なのでPHP言語とは関係ないものです。 doctypeは、HTMLのタグになります。 なので、「htmltypeということか」というのはその通りです。 かつては、HTMLもバージョンが4だったり4.01だったり、XHTMLと呼ばれるものがあったりしました。 それらのうちのどれが採用されているか、をブラウザに宣言することでブラウザが表示方法を変えていました。 今はHTMLのバージョン5、というものが主流となっており、通常<!DOCTYPE html>と書くと、それはHTML5であるとブラウザは認識します。

okwaveokw
質問者

お礼

整理できてきましたありがとうございます

その他の回答 (4)

回答No.4

長文読解は苦手な様子ですので、端的に説明します。 1,php形式のファイルなのに,htmlを書き込めるんですか? PHP形式のファイルを単純に「.phpという拡張子が付いたファイル」と定義するのであれば、書き込むことができます。 2,doctypeというのはhtml以外どういうのがあるんでしょうか? HTMLのバージョンが何であるかを指す宣言で、ブラウザに対して宣言します。 doctypeがHTML以外の例) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

okwaveokw
質問者

お礼

1 .phpのファイルにもhtmlを書き込めるんですね。しりませんでした。 2 htmlのバージョンの事を言っているんですか? doctypeというよりhtmltypeということですか?

回答No.3

なるほどね!。理解しました。 1,php形式のファイルなのに,htmlを書き込めるんですか? 例えば、abcd.phpがあったとします。 aaaa <?php echo "bbbb"; ?> cccc をHTMLとして実行すれば、「そのまんま<?php などもそのまま出ます」 これを、PHPを通すことで、 aaaa bbbb cccc となります。 要するに、PHP形式というのは<?php の中だけで、 その外側はそのまま送り出されているのです。 今度、phpの拡張子を持ったファイル(例えばabcd.php)に、 <?phpを一切含まない物をアップロードして表示してみてください。 =何も起こらずそのままでる! ってのが、わかると思います。 なら逆に、<?phpを含むファイルで、abcd.phpを作り それをabcd.html という名前でもセーブしてアップロード .htmlの場合は、<?phpもそのままでる! .phpの場合は、<?phpは実行され結果が出ている! の違いがわかると思います。 しかし、「内容は同じはず!」しかし結果は違う。 これで、拡張子が中にある物を実行させるか?を 判断させていたことが実験でわかると思います!。 2,doctypeというのはhtml以外どういうのがあるんでしょうか? 今回のdoctypeはHTML命令として書かれているだけなので、 HTMLやBODY/HEAD/DIVやSPANなど、すべてのHTMLを指してます。 「なぜ?」それは<?phpの外に書いてある物なので、 何もせずそのまま送り出されただけだからです。 で「送り出す」って何?って件は正式には、STDOUTと言いますが、 ややこしくなるので今は「ブラウザに送り返す文字」と 思っていいです。 なので、 aaaa という文字を送り出せばブラウザにaaaaと出た! (んま、そうですね。としか言えないでしょう) ans=<?php echo 5+3;?> なら、ブラウザには、ans=8と出るでしょう。 これもそのままですね。 それを、HTMLの拡張子で出力したら ans=<?php echo 5+3;?> このまま出ます。 なぜか?HTMLという拡張子にPHPを実行しろという 経路が含まれていないためです(ここはApacheの設定で変更できる) 通常はPHPの拡張子を持っていると自動的に、PHPを 経由するように設定されている。 しかし、通過するだけで、 「PHP命令」がなければ、何も行われず、 そのまま送り出している(つまりブラウザに) 次の問題は、拡張子と受け取り問題。 例えば、.jpgならJPEG画像かな? .htmlならHTMLなんだろうな!ってわかりますが。 じゃ~.phpは何を送り出すの? これに答えがないのです。MIMEといって、 ブラウザが受け取ったものを、、、 どうしていいか、わからない!それを指示するのが、 通常content-type: というヘッダーになる! という具合です。 Linuxにおける拡張子は、Windowsと違って 形式を表してるものではないので。 例えば、PHPプログラムをABCD.JPGと 普通に見たら画像に見えるように保存して。 php ABCD.JPGでも構わないのです。 なので、拡張子が必ずしも中の形式を 表したものではない事と、 あわせたところで、PHPという拡張子で PHPを含まないファイルを読ませても 何ら問題がない!という ここが、おそらくは、質問者さんの 一番の「なんじゃそれ!?????」 だとは思います。

okwaveokw
質問者

お礼

>例えば、abcd.phpがあったとします。 わかりません .php形式のファイルがあったとしますという意味ですか? >HTMLとして実行すれば わかりません .html形式のファイルを作るということですか? >PHPを通すことで 通すとはなんですか? >PHP形式 .phpの拡張子がついたファイルのことですか? >その外側はそのまま送り出されているのです 外側? 送り出す? ><?phpを一切含まない物をアップロードして表示してみてください。 アップロードってどこにアップロードするんですか? >すべてのHTMLを指してます。 すべてのHTML? >「なぜ?」それは<?phpの外に書いてある物なので phpの外とは? >「ブラウザに送り返す文字」と 思っていいです。 それがわかりません この後は何がなんだか読んでもわからないです。

回答No.2

もう1点。 拡張子PHPと、PHPスクリプトには何の関係もない事を 前回説明したと思いますが。 それも思い出してくださいね!。 (そのタイミングにならないとこの意味が伝わらない事も  ありますが、ちょうどいま「それ」に気が付いたみたいなので、  一緒に思い出してもらえたらと思います) なので、拡張子phpでHTML形式を送り出しても構いませんし。 拡張子htmlでphpを実行させたってかまわないのです。 拡張子と、パーサー(誰が何を実行するか?)は あまり関係はない事なので! (なお、デフォルトでは、apacheはhtmlの拡張子では、 PHPパーサーを経由しないので、ここは、設定次第です)

okwaveokw
質問者

お礼

>htmlを書いただけで、htmlファイルなわけではないです。 じゃあなんですか?拡張子をつけたらなんなのかおしえてください .jpg .doc .xml document.write(<?php echo '"waaa"'; ?>); わかりません </script> わかりません document.write("waaa"); </script> と展開され、JavaScriptとなるように、 わかりません >「何も変換はしてない」のです! なにがですか? >だから、そのままPHP以外は「そのまま出てる」と 以外ってなにがですか? >拡張子PHPと、PHPスクリプトには何の関係もない事を ちがいをおしえてください >前回説明したと思いますが。 それも思い出してくださいね!。 おもいだせないし、読み直しても理解できません 一つ一つの用語について徹底的に解説を書いてください それが無理ならおそらく何千回も同じ質問をします >ので、拡張子phpでHTML形式を送り出しても構いませんし。 送り出すという言葉の意味がわかりません >拡張子htmlでphpを実行させたってかまわないのです。 実行の意味がわかりません 命令と実行と出力の違いは何でしょうか? >拡張子と、パーサー(誰が何を実行するか?)は あまり関係はない事なので! パーサーってなんですか? >経由 経由ってなんですか? 全部書いてくれたらそれについてこちらも徹底的に質問をいたします。

回答No.1

前に教えたと思いますが。 <?php ..... の中だけがPHPなのであって、 それ以外は、「そのまま」出力されているだけです。 htmlを書いただけで、htmlファイルなわけではないです。 なので、 例えば、abcd.phpで <script> document.write(<?php echo '"waaa"'; ?>); </script> なら、 <script> document.write("waaa"); </script> と展開され、JavaScriptとなるように、 「何も変換はしてない」のです! 逆に考えてください。 もう一度いいますね。 「何も変換はしてない」のです! だから、そのままPHP以外は「そのまま出てる」と 理解すれば、この問題は結構、簡単に解決できると思いますよ。

okwaveokw
質問者

お礼

今後も回答をいただけると思うので書いておきます 教えてもらったのを忘れたんじゃないんです 難しすぎて何を言っているかわからないんです だから ありがとうございます しか書けないんです 覚えてないんじゃないんです 何を言ってるかわからないんです 今後も同じようなやり取りがあると思うので先に書いておきます

okwaveokw
質問者

補足

これはphp形式?のファイルなんですが、 1,php形式のファイルなのに,htmlを書き込めるんですか? 2,doctypeというのはhtml以外どういうのがあるんでしょうか? 1,かきこめません なぜなら こうだからです 2,こういうのがあります そういう書き方で回答をいただきたいです まず! 何と何が関係があるのかよくわからない長文をつらつら書かれてもまず理解できません

関連するQ&A

  • php形式のファイルはどうやって開くんですか?

    ファイル自動収集ソフトを使ったら、「PHP」という形式のファイル(おそらく動画)がいくつかDLされていました。 開くにはどのような方法、またはソフトがいるのでしょうか?Windowsのヘルプを見たらメモ帳で開けるように書いてありましたが無理でした。

  • php形式のファイルってどうやって表示さしられるの

    php形式のファイルってどうやって表示さしられるのでしょうか? 大切な画像ファイルで保存したんですが、 知らない拡張子がついたファイルになってました、 開こうにもどうやったらいいのか分からず、 phpは何者ですか?又 jpgみたいにシンプルにちゃんと画像として表示できるにはどうしたらいいのでしょうか?

  • ダウンロードしたPHP形式のファイルが開けない

    いくつかの動画再生ソフトをインストールしていますが、ダウンロードした動画ファイルの拡張子がPHPで、 見れません。 真空波動研を入れてみましたが、再生できたのは音声のみでした。 他の動画形式の拡張子にも変更してみましたが、開けませんでした。 開く方法がお分かりの方、よろしくお願い致します。

  • pdf形式のファイルをodt形式に

    pdf形式のファイルをodt形式にして編集したいのですが、 何か方法はございますでしょうか? http://www.henkan-muryo.com/convert-document.php こんな変換サイトを見つけたのですが変換後のファイルがうまく開けないようです。

  • ファイル形式について

    お願いします。OS XP ワード2003で作成した時刻表を、保存したら形式がdocになっていますが、このファイルを画像ファイル形式のgif、jpegに変換したいのですが、どのようにしたら良いのでしょう??printscreenからの方法以外のご教授お願いいたします。

  • ファイル形式について

    PCに保存してある動画ファイルを、DVDプレイヤーでも鑑賞できるように焼付けをしたいので、 DVD-Video形式にしてからISO形式にしたいと思うのですが、 なにかよいソフト(できればフリーのもの)はないでしょうか? また、これ以外に方法があれば教えて下さい。 よろしくお願いします。

  • htmlを含まないphpファイルにもHTMLヘッダー内にエンコード形式を記述する必要はあるのでしょうか?

    私はフォームにデータを入力するファイル(enter.html)、それをチェックするファイル(check.php)及びデータをメールで送信するファイル(mail.php)を分離しています。 これらのファイルの内、ブラウザーにファイル内のHTMLコードが出力されるのは、データを入力するファイル(enter.html)だけです。 入力されたデータをチェックするファイル(check.php)及びデータをメールで送信するファイル(mail.php)は、phpのechoを使用して、入力エラーがあったり、メールが送信された場合にその旨のメッセージをブラウザーに表示しますが、HTMLは含みません。 そのため、データを入力するファイル(enter.html)には、<meta http-equiv="Content-Type" content="text/html; charset=utf-8">とエンコード形式(UTF-8)をHTMLヘッダー内に記述しているのですが、htmlを含まないphpファイル(check.php及びenter.html)にも<meta http-equiv="Content-Type" content="text/html; charset=utf-8">などのようにHTMLヘッダー内にエンコード形式を記述する必要はあるのでしょうか? よろしくお願いします。 キャサリン

    • ベストアンサー
    • PHP
  • PHPファイルの表示

    PHPに関する知識がまったくないのでご指導ください。 PHP形式で作ったホームページデータをサーバーからダウンロードし、 ドメインを変更したため別のサーバーにアップしたのですが、 きちんと表示されません。 旧アドレスでは、   ○○○.com  ○○○.com/index.php どちらでも表示するのに、 新アドレスでは、   △△△.com  △△△.com/index.php どちらでもダメです。 試しに普通のHTMLファイルを送ってみたところキチンと表示されますので、 サーバーエラーではないようです。 PHP形式のホームページデータを表示するようにするには、 何かサーバーにアクセスする必要があるのでしょうか。

  • PHPでAccessのファイルを扱うには

    MS系はまったくわからないので、基本から教えていただきたいのですが、いくつかテーブルのあるmdbファイルがあって、検索システムを作るのでデータを抽出してPHPで処理ということをしたいのですが、mdbをそのままの形式でPHPで読み込むにはどうすればいいのでしょうか。 それともASPじゃないとダメでしょうか? 何か方法がありましたらご教授お願いいたします。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpでファイルの先頭8バイトだけで画像の形式を調べる

    phpでファイルの先頭8バイトだけで画像の形式を調べる phpで画像の形式を調べる方法について http://labs.gmo.jp/blog/ku/2007/05/8.html のページを参考に、php5にて以下のようなコードを書いてみました。 //アップロードされたファイルを読み込み $fp = fopen($_FILES["upfile"]["tmp_name"],"rb"); $imgdata = fread($fp,filesize($imgfname)); fclose($fp); //画像形式判定 echo getImageType($imgdata)."形式と思われます\n"; function getImageType($dat){ if ( preg_match( '/^x89PNGx0dx0ax1ax0a/', $dat) ) { $type = "png"; } elseif ( preg_match( '/^GIF8[79]a/', $dat) ) { $type = "gif"; } elseif ( preg_match( '/^xffxd8/', $dat) ) { $type = "jpg"; } return $type; } ところが、png/gif/jpegいずれの画像でテストしてもgetImageTypeの結果が""となってしまい、正常に判定することができません。 修正点などご教授いただければ幸いです。

    • ベストアンサー
    • PHP

専門家に質問してみよう