PHPを使った外部ファイル化のメリットとは?

このQ&Aのポイント
  • WEBサイトのBOXごとに外部ファイルから読み込ませることで、1ファイルの更新で複数のページを変更できる。
  • 外部ファイル化は初めての試みでも実現可能であり、作業効率を向上させることができる。
  • WEBページを作成後に必要な部分を外部ファイル化する手法は一般的であり、考え方として正しい。
回答を見る
  • ベストアンサー

phpを使った外部ファイル化を・・・。

phpを使って、次回製作するWEBサイトをBOXごとに外部ファイルから読み込ませようと考えております。これは何ページあっても1ファイルの更新で済むので、楽なんですよね?それを行いたいと思います。 phpのプログラム事態は書けないのですが、外部ファイル化位なら何とかできない物かと思い、検討中です。 そこで、お聞きしたい事が御座います。WEBを作成していくにあたって何かしておかないと、またはしなくてはならない事というものはありますでしょうか? 当方の現在の考えは、いったん普通にWEBページを作成し、そのあとで必要部分に関して外部ファイル化を行って行こうと考えていますが、間違っていますでしょうか? なにぶん初めての試みなので・・・。 宜しくお願いします。

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

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

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

>次回製作するWEBサイトをBOXごとに外部ファイルから読み込ませようと考えております。これは何ページあっても1ファイルの更新で済むので、楽なんですよね この意味がよくわかりません。スクリプトは一つだけで、何からのパラメータによって外部ファイルを読み込むという事ですか?外部ファイルとはスクリプトですか? >WEBを作成していくにあたって何かしておかないと、またはしなくてはならない事 これもどういうレベルでの話なのかがわからないとなんとも答えようがありません。WEB作成するのにしないといけない事は山ほどある事はありますけどね。 >いったん普通にWEBページを作成し、そのあとで必要部分に関して外部ファイル化 パラメータによって必要なスクリプトが書かれたファイルをincludeする、という内容であれば、そのような組み方もあると思います。プログラムのスタイル人それぞれですけどね。

404not_found
質問者

お礼

wakame0729さんありがとう御座います。 私の説明が悪いと思います。 ファイルを読み込むというのはスクリプトでは御座いません。ただのHTML文章を外部から呼ぶだけなんです。こんな感じですが・・・。 <body> <?php require("banner.txt"); ?> <?php require("side.txt"); ?> <?php require("footer.txt"); ?> </body> >これもどういうレベルでの話なのかがわからないとなんとも答えようがありません。WEB作成するのにしないといけない事は山ほどある事はありますけどね。 そうですよね・・。こんな感じの上記のファイルのような物を実行するに当たって、何か特別なことをしなければいけないのか不安になったものでお聞きしました。 >パラメータによって必要なスクリプトが書かれたファイルをincludeする、という内容であれば、そのような組み方もあると思います。プログラムのスタイル人それぞれですけどね。 すみません、そのような難しい事は私は現在出来ませんので、もっと簡単な話だと思います。 ただ、例えば<div ID="banner"></div>とあった場合 全てのページの、この部分に<div ID="banner">ここのことです!</div>読みこませれたらなーと考えております。 すみません、素人な者で説明すらうまく出来ませんが。

その他の回答 (3)

回答No.4

SSIで使えるのが「EXEC CMD」だけでしたらINCLUDEは使えないかも知れないですね。だとしたら一旦忘れて下さい。 今回はinclude(require)するファイルがただのHTMLだという事なのでSSIが使えるサーバーであればSSIでincludeするだけだなぁと思ったまでの事です。それができないのであればPHPでやれば良いでしょう。何をするにしても、たいてい方法は一つではありませんから。 で、大事なのはこのような解らない事が出てきた時にgoogle先生を使うなど、自分で調べて自分で進んでいく姿勢です。お気づきの通り、WEBアプリの開発はPHPだけでなく、HTMLやサーバーの知識などの必要になってきます。わからない事が山のようにでてくるものです。こういう時に自分で進める人とそうでない人は差がでてきてしまいますよ。

404not_found
質問者

お礼

wakame0729さんありがとう御座います。 >それができないのであればPHPでやれば良いでしょう。何をするにしても、たいてい方法は一つではありませんから。 そうですよね、今回はphpを使ってがんばってみたいと思います。

回答No.3

サブルーチン化云々のくだりは、解らなければほうっといて下さい。そのうちわかるようになります。各ページ共通の部分は別けて無駄を省くと言う考え方自体は正しいですよ、という事です。 ><!--#include file=filename.html--> これはssiというapacheの機能です。apache自体にこのような事ができるモジュールが入ってないとできませんが、レンタルサーバーでも使えるところは多いと思います。機能はphpのrequireやincludeとほぼ同じ、単純にそこにファイルが挿入されます。 試しに何でもいいのでtest.htmlというような簡単なHTMLを書いて、#includeタグの中に同じディレクトリに実際にあるHTMLファイルを指定してみて下さい。うまく動けばその部分に指定したファイルの内容が挿入されるはずです。

404not_found
質問者

お礼

wakame0729さん、本当にありがとう御座います。 <!--#include file=filename.html-->の使用方法はよくまだ理解が出来ていませんが、便利そうなのはよく分かり、私の行いたい事だと思いました。 私の環境ではSSIが「EXEC CMD」のみ使用可能ということがサーバー説明に記載してありました、これはどういうことでしょうか?ちなみに出力拡張子は.htmlがいいのですが・・。 根本的に私が行おうとしている事は、SSIを利用するのがベストなのでしょうか?普通外部から何かを読み込み、表示させる場合SSLを使用していますか? phpですか?または他に何かあるのでしょうか? なにか1つ行おうと思うと、沢山の情報(今回はSSIです)を頂いて困惑してしまいます。本当に奥が深い物だとひしひしと感じました。

回答No.2

お考え、わかりました。手法は違いますが似た様な事は僕も良くやりますよ。 気をつけなければならないのは、ファイルが細分化して結局何がなんだかわからなくなる事ですね。特にページごとに大きく内容が変わるような場合は、このような方法はかえってごちゃごちゃになったりします。 それと、単に静的なHTMLを読み込むだけでしたらわざわざphpは要らないかも知れません。サーバーにssiがあればですが。単にHTMLとして <!--#include file=filename.html--> これだけでもできるんじゃないですか? このように、WEBページ上のブロック毎にスクリプトを別ける考え方自体は大有りです。うちでも共通部分はブロック毎にサブルーチン化したりしてます。そうするとごちゃごちゃしてきてしまう場合がありますから、その分、根っ子のところをしっかり押さえて大本をきちんと作りこむこと。それとサイト全体の構成やファイルネームの付け方にルールを作る事、それとプログラムスタイルについて自分なりのルール付けを意識する事が重要だと思います。

404not_found
質問者

お礼

wakame0729さんありがとう御座います。 >気をつけなければならないのは、ファイルが細分化して結局何がなんだかわからなくなる事ですね。特にページごとに大きく内容が変わるような場合は、このような方法はかえってごちゃごちゃになったりします。 なるほど、そのような事もあるんですね。 ><!--#include file=filename.html--> これだけでもできるんじゃないですか? これは一体何なんでしょうか!すみません私全く理解できません。これは何をするものなのでしょうか? また、こちらの手法の方が普通皆さんが使用されるものなのでしょうか? >うちでも共通部分はブロック毎にサブルーチン化したりしてます なんのことやらさっぱり・・・、すみません。 しかし、作成前にwakame0729さんの貴重なご意見・アドバイスが聞けてよかったです。

関連するQ&A

  • PHPで外部のhtmlを読み込んでソースを加工

    PHPで外部のWebページのhtmlソースを読み込むことは可能でしょうか? PHPで外部のWebページを表示するのではなく、そのWebページのhtmlソースを読み込んでhtmlをPHPで加工してから表示させたいのです。 その際に、javascriptが実行された結果(javascriptの実行がきちんと終了した状態)のhtmlソースを取得したいです。 何か情報をお持ちの方がいましたらお教え下さい。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • php 外部ファイルについて

    php初心者です。 テキスト表示でランダムリンクをしたいのですが リンク先のURLとテキストを外部ファイルにしたいのです。 現在------------------------ <?php srand((double)microtime()*1000000); $ad_list1 = file("20.txt"); $ad_key1 = array_rand($ad_list1, 2); $ad1 = $ad_list1[$ad_key1[0]]; // 表示 echo "ID=$ad1"; ?> ----------------------------- ↑このphpソースを組み入れ、外部ファイル20.txtには ----------------------------- <a href="http://domain.jp/?id=111">111</a> <a href="http://domain.jp/?id=222">222</a> <a href="http://domain.jp/?id=333">333</a> ・ ・ ------------------------------ という感じでリンク先URLを1行ずつ書いています。 テキスト表示は ID=111 という感じで表示されるようにはなったのですが phpソースの中に http://domain.jp/? までを組み込んで、外部ファイルの内容を ------------------------------ 111 222 333 ・ ・ ------------------------------ とするだけで、 表示される ID=111をクリックすると http://domain.jp/?111 のページが表示されるようにするには どうすれば良いのでしょうか。 また、そういった事は可能でしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPで外部にあるbz2ファイルを扱いたいです。

    PHPで外部にあるbz2ファイルを扱いたいです。 ローカルに保存してあるbz2ファイルの取り扱いにはbzopenを使用して成功しました。 ただ、外部にあるbz2ファイルのURLを指定しても読み込む事が出来ませんでした。 何か方法はあるでしょうか? もし何か良い方法を知っている方がおりましたら、教えていただけるととても助かります。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpで外部ファイルを読み込んだ際のURLについて

    Webサイト全ページのヘッダーとサイドバー、フッターは同じ内容です。 そのため、Webサイトを更新するときの作業効率を考えて外部読み込みをしようと思っております。 以下の手順で、phpのincludeを使って、一応読みこむことはできました。 (1)「index.html」を「index.php」に拡張子を変更 (2)「index.php」の読みこませたい部分に次のように記述 <?php include('./header.html'); ?> (3)「header.html」を作成 以上の手順で、FFFTPでアップロードして、ブラウザで表示したら、読みこみに成功しておりました。 しかし、当然といえば当然なのですが、次ようにサイトのurlの拡張子がhtmlからphpに次ようになっておりました。※urlはダミーです。 http://www.sample777.com/index.php このままだと、全てのページのurlの拡張子がphpになってしまいます。 この場合、seoやユーザービリティ―などの観点から、何か問題はありますか? urlに表記されるphpの部分をhtmlのままにしたいのですが、何か方法はありますか?

    • ベストアンサー
    • PHP
  • phpでヘッターやサイドバーを読みこむ方法について

    Webサイトを作成したのですが、ページ数も多くなってきて管理が大変になりました。 そこで、ヘッダーやサイドバー、フッターを外部ファイルにし、phpで読みこむ方法というものをやってみたいと思っております。 一応、問い合わせフォームはphpで作成してあるので、またphpに挑戦したいと思っております。 そこで、気になることがるのですが、ヘッダーやサイドバー、フッターを外部ファイルにする場合、現状のhtmlで記述してあるままで3つに細分化して外部化すれば問題ないでしょうか? また、ファイル名の拡張子はhtmlのままで良いでしょうか? そして、読みこみ元のファイルの拡張子はphpだと思うのですが、中身としてはどのようなコードを使って読みこめば良いのでしょうか?

    • ベストアンサー
    • PHP
  • Webページでphpを使って共通部分を外部ファイルすると文字化けする。

    Webページでphpを使って共通部分を外部ファイルすると文字化けする。 Webサイトを制作中ですが、Webページを全て.phpファイルで制作しています。 これによってWebサイトにおける色んな共通部分を外部ファイル化して、のちの変更を簡単に済ますように構成しています。 そして、 ●Global Navi ●Sidebar Navi ●Header ●Metaタグ ●Footer 等、これまで制作した外部ファイルは全てうまくいっていたのですが、先ほど制作した外部ファイルが文字化けでうまくいきませんでした。どうすれば文字化けが直るでしょうか? 外部ファイルに記述したのは、単に日本語のサイトタイトルただそれだけです。 パン屑ナビに記述するサイトタイトル(これがうまくいけばその他のサイトタイトルを記述しているところ全部に適用させたい)で使うと文字化けしました。HTMLは以下のような記述です。 <!--Breadcrumb--> <div id="navi_bread"> <p><a href="http://xn--u9jxf0b3dt27s.jp"><?php include_once("../inc/sitetitle.php"); ?> TOP</a>&nbsp;&gt;&nbsp;商品案内</p></div> <!--/Breadcrumb-->

    • ベストアンサー
    • PHP
  • PHPから外部コマンドを使ってファイルやディレクトリを新規作成するには?

    LinuxのFedora10で、PHPで外部コマンドを使ってサーバ内にディレクトリを新規作成したいのですができません。 /var/www/uuu内に、index.phpを設置し、その中の一部に以下のようなスクリプトを書いています。 <?php system("pwd"); system("touch fff"); system("mkdir ddd"); ?> system("pwd")は/var/www/uuuという結果を出してくれます。しかし、system("touch fff")やsystem("mkdir ddd")に関しては全く結果を出してくれません。 (PHP自体のエラーではないようです。) どうやら、外部コマンド自体はうまく機能してくれているみたいなのですが、ディレクトリやファイルを新規作成することができないようなのです。 /var/www内のディレクトリuuuのパーミッションを777にして、オーナーを一般ユーザにしてやってみても同様にうまくいきません。 どのようにすれば、PHPから外部コマンドを使ってファイルやディレクトリを新規作成することができるでしょうか? よろしくお願いします。

  • 外部のphpファイルを読み込んで表示させたい

    外部からスクリプトを呼び出して実行することはPHPどのようにすればよいのでしょうか? <?php print "Hello World!"; ?> というコードをhello.phpで保存して、サーバAにアップしました。 それで、サーバBからいつでもhello.phpを呼び出して、ページの表示内に組み込みたいのですが、そういうことは可能なのでしょうか? <?php $handle = fopen ("http://<サーバAのアドレス>/hello.php", "r"); print $handle; ?> をサーバBにアップしてブラウザからアクセスしてみましたが、上手くいきませんでした。 ちなみにサーバAのhello.phpのCHMODは755,755どちらに設定すればよいのでしょうか?ファイルが置かれているディレクトリのCHMODも変更するので しょうか?全部やってみましたがうまくいきませんでした。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPで同ページ内の外部ファイル表示切替の方法。

    初めて質問します。 PHPを利用し、同ページ内で、外部ファイルの表示切り替えをしたいのですが、PHPを覚えたばかりでうまくできません。 下記のような形でページ内で切り替え表示させるには、どうしたらいいのでしょうか。 ------- メニュー:<a href="a.txt">A</a> <a href="b.txt">B</a> <a href="c.txt">C</a> <?php require_once("./外部ファイル.txt"); ?> ----- 外部ファイル.txt の部分を、メニューのリンクに合わせて、a.txt、b.txt、c.txtのように、同ページ内で切り替え表示がしたいです。 リンクを<a href="index.php?~">と言う形にし、<?php require_once("./外部ファイル.txt"); ?>の中にif関数を入れればいいのではないか… と思っているのですが、どの関数をどのように組み合わせればいいのかが、お恥ずかしながらわかりません。 どなたか、教えていただけるとうれしいです。よろしくお願いします。

    • 締切済み
    • PHP
  • phpファイルについて

    phpファイル(xxx.php)の<?php ?>で囲われた部分は、外部から読み取られる事は絶対に出来ないのでしょうか? データベースなどの設定(HOST名、データベース名、データベースパスワード)をドキュメントルート内のphpファイルのデータベースクラスに直接記述しています。 これって安全ですか? 一部の参考書等では、重要な設定等は、ドキュメントルートの外にファイルを置いておいて、インクルードする方法が書かれています。 phpファイル(xxx.php)の<?php ?>で囲われた部分が、絶対に外部から読み取られないのであれば、現状のまま運用しようと思っていますが、ご教授下さい。

    • ベストアンサー
    • PHP

専門家に質問してみよう