みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

データベース + PHP で htmlファイルを大量作成

お店の名前や住所データがデータベースに入力されています。

お店の情報を表示するページはデザインが一緒なので
テンプレートを用意しておき
お店のデータだけデータベースから読み込み
その出力されたものをhtmlファイルとして保存し
そのファイルをサーバにアップロードしたいと思っています。

データベースからデータを取り出すのは
mysql_query();でやればいいと思うのですが
htmlとしてファイルを保存するのは
fopen();やferite();などでできるでしょうか?

$a = "テンプレート,データベースの内容";
fwrite($filehandle, $a);
でできるのではと思っていたのですが
「テンプレート,データベースの内容」の部分が
長文なのでどうやって変数に入れればいいかを悩んでます。

どなたか知恵をお貸し下さい。

足りない部分がありましたら補足いたします。
ご教授のほどよろしくお願いします。

投稿日時 - 2008-05-09 16:45:34

QNo.4009346

困ってます

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

>fopen();やfwrite();などでできるでしょうか?
できると思います。
詳しいやり方は失念してしまいましたが。

>長文なのでどうやって変数に入れればいいかを悩んでます。
「ヒアドキュメント」という機能があります。

$a= <<< EOD
XXXXXXXXX
XXXXXXXXX
XXXXXXXXX
.......
EOD;
というようにすれば、EOD;までの文字列を変数$aに入れることができます。
変数を入れることもできるので、ここにHTMLを入れて、
DBで得たデータを埋め込んで変数にまるごと入れてしまえばいいと思います。

http://php.thm.jp/index.php?know=here_document

投稿日時 - 2008-05-09 16:57:13

お礼

回答ありがとうございます!

そうでした!

ヒアドキュメントがありましたね!ありがとうございます!

投稿日時 - 2008-05-09 17:11:28

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>「テンプレート,データベースの内容」の部分が
>長文なのでどうやって変数に入れればいいかを悩んでます。

テンプレートをfile_get_contents()で読み込めばいいのでは?書き換えは地道にstr_replace()でも出来るでしょうし。

ただ「そのファイルをサーバにアップロード」ということはローカルで実行するんですよね?DBのローカル(というかローカルから繋げられるサーバ)ですか?

投稿日時 - 2008-05-09 16:52:19

お礼

回答ありがとうございます。

file_get_contents();ですか。一度調べてみます!

はい、このローカルで実行しhtmlファイルを作成するつもりです。
データベースもローカルに保存されていますので大丈夫です。

投稿日時 - 2008-05-09 17:06:42

あなたにオススメの質問