• ベストアンサー

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

お店の名前や住所データがデータベースに入力されています。 お店の情報を表示するページはデザインが一緒なので テンプレートを用意しておき お店のデータだけデータベースから読み込み その出力されたものをhtmlファイルとして保存し そのファイルをサーバにアップロードしたいと思っています。 データベースからデータを取り出すのは mysql_query();でやればいいと思うのですが htmlとしてファイルを保存するのは fopen();やferite();などでできるでしょうか? $a = "テンプレート,データベースの内容"; fwrite($filehandle, $a); でできるのではと思っていたのですが 「テンプレート,データベースの内容」の部分が 長文なのでどうやって変数に入れればいいかを悩んでます。 どなたか知恵をお貸し下さい。 足りない部分がありましたら補足いたします。 ご教授のほどよろしくお願いします。

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

  • ベストアンサー
  • suzu_zou
  • ベストアンサー率34% (112/327)
回答No.2

>fopen();やfwrite();などでできるでしょうか? できると思います。 詳しいやり方は失念してしまいましたが。 >長文なのでどうやって変数に入れればいいかを悩んでます。 「ヒアドキュメント」という機能があります。 $a= <<< EOD XXXXXXXXX XXXXXXXXX XXXXXXXXX ....... EOD; というようにすれば、EOD;までの文字列を変数$aに入れることができます。 変数を入れることもできるので、ここにHTMLを入れて、 DBで得たデータを埋め込んで変数にまるごと入れてしまえばいいと思います。 http://php.thm.jp/index.php?know=here_document

sachi-999
質問者

お礼

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

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>「テンプレート,データベースの内容」の部分が >長文なのでどうやって変数に入れればいいかを悩んでます。 テンプレートをfile_get_contents()で読み込めばいいのでは?書き換えは地道にstr_replace()でも出来るでしょうし。 ただ「そのファイルをサーバにアップロード」ということはローカルで実行するんですよね?DBのローカル(というかローカルから繋げられるサーバ)ですか?

sachi-999
質問者

お礼

回答ありがとうございます。 file_get_contents();ですか。一度調べてみます! はい、このローカルで実行しhtmlファイルを作成するつもりです。 データベースもローカルに保存されていますので大丈夫です。