- ベストアンサー
HTMLで作成したページにPHPでinclude可能なファイルと問題点について
PHPを始めたばかりの初心者です。よろしくお願いします。 HTMLで作成した各ページにメニュー部分を共通に表示させるためPHPでインクルードさせようと考えています。 実際<?php include("aaa.txt"); ?>を記述して表示することは確認できたのですが、aaa.txtの部分はaaa.htmlではダメなのでしょうか。 実はテスト的にhtmlでやって問題なく表示されたんですが、ソースを表示したら<head>部分とか<body>とか、余計なものまでまるごと全部入ってしまってて大丈夫なのか心配になっちゃったんです。 一般的にはどのようなやり方をされているのか、このやり方で問題ないのか教えてください。 ちなみに当方ビルダーを使用していてテキストファイルを作るには一度htmlで作成したものを必要な部分だけ抜き出して作らなければならず面倒なんです。 わかりずらいかもしれませんがよろしくお願いします。
- PHP
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
includeするファイル名には制限はありません。aaa.txtでもaaa.htmlでもaaa.incでもいいです(覗き見防止に拡張子を.cgiにしたりします)。ただ、そのファイルの内容がincludeを書いた位置に読み込まれますので、ファイル名がaaa.htmlでも中身は純然たるhtmlではマズイですよね。 >ちなみに当方ビルダーを使用していてテキストファイルを作るには一度htmlで >作成したものを必要な部分だけ抜き出して作らなければならず面倒なんです。 面倒ですが仕方ありません。includeで使いまわすわけですから。どちらにしてもincludeで所定の位置に読み込ませる記述を「単独でデザインを確認」することは難しいですから(他のページに挿入した状態で確認しますよね?)。
関連するQ&A
- HTMLからPHP呼び出し【ギブアップ】
HTMLからPHPを呼び出す方法について、色々調べて実施してみましたが、 どうも動作しません。ギブアップ状態なので、皆様のお知恵をお借りできたらと 思い質問することにしました。 現在の状況。 (1)Apache設定 「.htaccess」ファイルに★印行部分を定義。 ★AddType application/x-httpd-php php html この定義以外にも色々試しに定義を変えています。 例えば、AddType application/x-httpd-php .php .htmlなど「.」を付与したり。 (2)HTML <html> <head>テスト</head> <body> <?php include "aaa.php"; ?> </body> </html> (3)PHP aaa.phpは、単体で動作します。 aaa.phpは、HTMLファイルと同ディレクトリにあります。 上記の設定でHTMLを表示すると空白表示されます。 調べた結果、上記で動作すると思ってるのですが、何が問題なのでしょうか? 宜しくお願いします。 また、情報不足していましたら、ご指摘ください。追加します。
- ベストアンサー
- HTML
- PHPファイルをincludeしてHTML表示する
お世話になります。 PHP含めプログラム初心者の者です。 どうか知恵をお貸しください。 現在制作しているHTMLサイトがあります。レイアウトはCSSです。 そのうちのひとつのコンテンツのブログページをサイト内WordPressで更新できるようにしたいと考えています。本来なら全てのページをWordPress化したほうがいいのでしょうが、新たにまたいろいろ記述する時間がないもので、とりあえずはblog.htmlなページのコンテンツ表示領域にWordPressで作ったindex.phpが表示されたらいいなと考えております。 ネットでいろいろ調べた結果、「phpファイルをincludeする」という方法によって、それをhtmlファイルで表示する方法があるようです。そこで質問なのですが、具体的にどのようにソースを記述すればそれは可能になるのでしょうか。 (1).htaccessに「AddType application/x-httpd-php .html」と記述する。 (2)表示したいHTML部分に「include(dirname(__FILE__).'/index.php');」と記述する。 とありましたがそれだけではできませんでした。具体的にそうしればいいか教えていただけないでしょうか。(htmlの拡張子をshtmlにするとかいう情報もありましたが定かではありません。)PHPに関しては本当に初心者な者で、変な質問をしているかもしれませんがどうかよろしくお願い致します。 ※参考にした情報ソースは下記です。 http://www.yusk.org/memo/php-memo/php_include_001.html ※HTMLソースは下記です。 <body> <div id="header"> ~略~ </div> <div id="contens"> <div id="leftmenu"> ~略~ </div> <div id="rightmenu"> <div id="rightbox-inside"> <div id="rightbox-inside-txt"> <p class="title">BLOG</p> <p class="standard"> include(dirname(__FILE__).'/index.php');(←ここにブログを表示させたい) </p> </div> <div style="clear:both;"></div> <div id="rightbox-buttom"> </div> </div> </div> </div> <div id="footer"> ~略~ </div>
- ベストアンサー
- PHP
- PHPが出力したHTMLにinclude文を
PHP4.3で、HTMLファイルをテンプレート出力する方式の掲示板を使っているのですが、テンプレートのHTMLファイル内に別のPHPスクリプトで出力した表示を貼り付けようと思い、 <?include("hoge.php");?> とinclude文を書き込んだのですが、これが反映されずにソース内に<?include("hoge.php");?>という記述がそのまま出て来てしまいます。 これが出来ない原因は、PHP実行→HTML表示→HTML内のPHP実行という二度のPHP実行が出来ないのか、<?include~を「文字列」として認識してしまっているのかのどちらかだと思うのですが、、 PHPファイルには一切手が加えられない状況なので、テンプレートHTMLに手を加えるだけで別のPHPスクリプトを読みこませたいのですが、何かいい方法は無いでしょうか?
- ベストアンサー
- PHP
- HTML #include file について
初心者ですみません>< 使用OS:windowsXP Home Edition 動作環境:自分のPC 1台 HTML文に下記のテスト文を作成したのですが、#includeの"header.inc" ファイルが読み込めないのです。 html文自体は c:\test\test.html に保存しています。 includeファイルは c:\test\INC\header.inc としています。 *** test.html ********************************* <html> <head> <#include file="./INC/header.inc"> </head> <body> <h1>test</h> </body> </html> ******************************************* *** header.inc **************************** <title>Title_TEST</title> ******************************************* 簡単なテスト文なのですが、header.inc の部分が読み込めないので困っています。どこかに必要な設定があるのでしょうか? すみませんがおしえてください。
- 締切済み
- HTML
- PHPでincludeを使うと?が入る。
さらくインターネットのレンタルサーバを使用していますが、 index.phpに include('header.php'); を入れてヘッダー部分のHTMLの呼び出しを行なっていますが 表示されるソースを見ていると、includeで呼び出しているヘッダー部分の手前に「?」が 入ってしまいます。 include(dirname(__FILE__).'/header.php'); include($_SERVER['DOCUMENT_ROOT'] . "/header.php"); など使っても同じ現象のため、どうしたら「?」を無くすことができるでしょうか。
- ベストアンサー
- PHP
- phpのincludeで表示を変化させたい
includeでHTMLの表示を変えられるように したいのですが、どうもうまくいきません。 (ブラウザ表示が真っ白になる。) 以下のようなソースを書いてみました。(php4.3.11,apache) (1) test01.php <?php $param = $_GET['param']; include ("./includes/datapack01.php"); ?> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=EUC-JP"> <TITLE>COMPANY A - <?php echo $title; ?></TITLE> </HEAD> <BODY> <span> test </span> </BODY> </HTML> (2) datapack01.php <? if($param == "8") { $title = "お問い合わせ : オーダー申し込み"; } ?> 意図としては、http://hoge.com/test01.php?param=8 とアクセスすれば、ブラウザのタイトル欄に 「COMPANY A お問い合わせ : オーダー申し込み」 と表示させたいところですが、 実際は、ブラウザ表示は真っ白となってしまいます。 http://hoge.com/test01.php とすれば、「test」とのみ表示されるのですが・・・
- ベストアンサー
- PHP
- phpファイルをHTML4で作成するの問題ですか?
Webサイトを作成し、phpを使って問い合わせフォームを作成しました。 phpファイルには、XHTMLではなくて、HTML4.01 Transitional で作成しておりますが、問題なく表示されており、メールの送受信もできております。 しかし、次のサイトで文法チェックをすると、点数がマイナスとなっております。 http://cetus.sakura.ne.jp/htmllint/htmllint.html phpを使っていないhtmlファイルで作成したページの文法チェックの場合、90点以上となっております。 phpファイルを作成するときは、XHTMLのほうが良いのでしょうか? HTML4.01 Transitional でphpファイルを作成するのは問題があるでしょうか?
- ベストアンサー
- PHP
- ヒアドキュメントの中で別ファイルをインクルード
PHPでヒアドキュメントの中で別ファイルをインクルードする方法はどのように処理するのでしょうか? sample.txt <p>サンプルテキストからの文字</p> ------------------------------------ sample.php $sample = <<<_EOM_ <html> <head> </head> <body> サンプルサンプル<br> *ここにsample.txt内のhtmlソースをインクルードしたい。 </body> </html> _EOM_; 以下省略(echoとかで出力)
- 締切済み
- PHP
- PHP4対応のサーバーではincludeは使えないのか
HTMLファイルにPHPファイルを読み込ませようとして下記のようにしてみました。 【HTMLファイル(index.html)】 <html> <head> <title>HTMLファイルにPHPファイルを読み込む</title> </head> <body> <table border="3" cellpadding="25" bordercolor="#795B00" bgcolor="#ffffff"> <tr> <td> <?php include('sample.php'); ?> </td> </tr> </table> </body> </html> 【PHPファイル(sample.php)】 <? echo <<< HTML <table> <tr> <td>あいうえお</td> </tr> </table> HTML; ?> 現在PHP4対応のサーバーを使っているのですが、サーバーにアップしても表示されません。 これはPHP4のせいなのでしょうか? それともアップするときのパーミッションの設定のせいなのでしょうか? ちなみにどちらのファイルも705や777その他にもいろいろな組み合わせで試してみたのですが表示されません。 ソースが間違えているせいなのか、サーバーがPHP4対応のせいなのか、パーミッションの設定のせいなのか原因が分からず困っています。 分かる方どうか宜しくお願い致します。
- 締切済み
- PHP
- 表の作成ができません!(HTML)
メモ帳にHTML記述でホームページを作っています。 表を作成したいのですが、表示されません。 <html> <head> <title>~</title> </head> <body> <table border=1> <tr> <td>AAA</td> <td> <br>aaaaaaaaaaa <br>bbbbbbbbbbb <br>ccccccccccc </td> </tr> <tr> <td>BBB</td> <td> <br>dddddddddd <br>eeeeeeeeee </td> </tr> </table> </body> </html> で作っています。 (※aaaaaaは、たとえです) 同じタグ記述で、改行のない表を作ったら、これは表示されました。 表内に改行させた場合は、エクスプローラには表示されないのでしょうか?
- 締切済み
- その他(インターネット・Webサービス)
お礼
早速の回答ありがとうございます。 やはり中身そのままのhtmlはまずいですか…。 面倒だけどhtmlで作成して必要なテーブルだけ切り取ってテキストファイルに貼り付けます。 それでも数十個あるファイルのメニューをその作業1回でできるわけですからかなりメリットはありますね。 ありがとうございました。