• 締切済み

埋め込みの場合とrequireの場合での表示のずれ

初歩的なことなのですがお願いいたします。 PHP5でHTMLソースにPHPソースを直に埋め込んだときと、同じPHPソースをファイルにしてrequire_onceした場合で 表示にズレが生じます。 具体的にはPHPで生成されるHTMLの上部に若干の空白が生じてしまいます。 どうしてこのようなことが起きるのでしょうか? どなたかお助けください。 お願いいたします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>表示にズレが生じます。 どちらかもしくは両方の書き方に問題があるということしかわかりません。 ブラウザからソースを保存して見比べてみてはどうでしょうか?

papope
質問者

お礼

ごめんなさい。解決しました。 PHPをUNICODEで作成したときにBOMを付けていたためでした。 申し訳ありません。 ありごとうございました。

papope
質問者

補足

ご回答ありがとうございます。 PHPの中身はechoしか無い(HTMLの吐き出しだけ)なので問題は無いと思うのですが。。。 そのechoを切り出してrequireするのと、直書きする(コピペで)のとでずれてしまうので悩んでいます。 HTMLソース自体はソフトで生成したものです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • requireについて

    http://ドメイン/クラス名/メソッド名 というように、アドレスに従って、Apacheで集約ページ(index.php)にリライトし アドレスから該当クラスを生成、メソッド呼び出し。 という処理内容でフレームワークの勉強をしております。 http://ドメイン/Cart/add というアドレスを実行し、 index.php内で、 Cartクラスを生成し、Cartクラスのaddメソッドを実行させました。 ・Cartクラスのコンストラクタで、Requestクラスを生成する処理を書いているのですが なぜか自分の考えた通りのrequire文を、Cart.phpに記述するとエラーが出るのです。 【フォルダ・ファイル構成】 controllersフォルダ----Cart.php |-index.php |-Request.php Cart.phpは、Controllersフォルダに入っているので、Request.phpを呼び出す際には、 一階層上の【require_once '../Request.php'】だと思っていたのですが、 実行すると Request.php のソースが見つからないと出ます。 試しに【require_once 'Request.php'】に変更し、 実行すると、ファイルが読み込まれ、CartクラスのコンストラクタでRequestクラスが生成されます。 なぜ、【require_once 'Request.php'】にすると、クラスの生成が成功するのでしょうか? index.phpの中で、Cartクラスを生成しているから、 【Requst.phpは、index.htmlから見て】の require文を記述しないといけないのでしょうか? ご教授よろしくお願いします。

    • ベストアンサー
    • PHP
  • require_once で読み込まれたか?

    初心者です。教えて頂けますか? require_once で読み込んだと思われるファイルの機能を使用したのですが、 機能した様子がありません。 require_once で読み込めない場合エラーが出るのでしょうか? 以下の様にしても駄目でした。 どの様にすれば良いでしょうか?よろしくおねがいします。 <?php $result = require_once("Auth/Auth.php"); if( $result == True ){ print("True"); } else { print("False"); } ?>

    • ベストアンサー
    • PHP
  • require_onceでファイルが開けない!?

    requre_onceでのファイルの読み込みが上手くいかないらしく、次のようなエラー文が出てしまい困っております。 =========エラー文=================== Warning: require_once() [function.require-once]: URL file-access is disabled in the server configuration in C:\xampp\htdocs\wakuphp\girlup_result_kanryou.php on line 6 Warning: require_once(http://waku2work.com/mysql2.php) [function.require-once]: failed to open stream: no suitable wrapper could be found in C:\xampp\htdocs\wakuphp\girlup_result_kanryou.php on line 6 Fatal error: require_once() [function.require]: Failed opening required 'http://waku2work.com/mysql2.php' (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\wakuphp\girlup_result_kanryou.php on line 6 ================================ 問題の6行目のソースコードは以下の通りです。 ======ソースコード6行目================= require_once("http://waku2work.com/mysql2.php"); ================================ この場合、”require_once”が読み込めて無いって事ですよね!? 一応初心者なのですが、気になるのは3つ目のエラー表示で、ローカルのパス表示が出てる点です。 設定がうまくいってないのでしょうか? 有識者の方いらっしゃいましたら、どうか宜しくお願いします!

    • ベストアンサー
    • PHP
  • require_onceについて

    いつもお世話になっております。 超初級な質問で申し訳ないのですが困ってます。 下記のような4つのclassがあります。 A_Class------------ <?php require_once('Base_Class'); class A_Class extends Base_Class{} Base_Class------------------ <?php require_once('B_Class'); abstract class Base_Class { public function hoge (){ $b = new B_Class(); $b->hoge(); } } B_Class--------------------- <?php require_once('C_Class'); class B_Class{ public function hoge (){ $c = new C_Class(); } } C_Class--------------------- <?php require_once('Base_Class'); class C_Class extends Base_Class{} ほかのファイルからrequire_once('A_Class');をすると PHP Fatal error: Class 'Base_Class' not found in C_Class.class.php on line 2 となります。 Base_Classのrequire_once('B_Class');をクラス定義の下に書けば通るのですが、 できればrequire_onceは上部にそろえておきたいです。 require_onceを下に書かずに修正する方法がありましたらご教授お願いします。

    • 締切済み
    • PHP
  • リモートファイルのrequireに関して

    はじめまして、 PHPのマニュアルには 「php.iniでallow_url_fopenを有効にした場合、 パラメータとしてファイル名をとる関数の多くでHTTPおよびFTPのURL を使用することができます。加えて、include(), include_once(), require(), require_once() 命令でURLを使用することができます。」 とあるのですが、requireでリモートファイルを読みこめません PHP のバージョンは 4.1.2 php.iniでallow_url_fopenが有効(On)になっているのは確認しました。 http://www.****1.com/hoge1.php から http://www.****2.com/hoge2.php を呼び出しています。 hoge1.php及びhoge2.phpのソースは以下のとおりです。 ----hoge1.php-------------------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML lang="ja"> <HEAD> <META http-equiv="content-type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITILE></TITILE> </HEAD> <BODY> <?php require ("http://www.****2.com/hoge2.php"); dispword(); ?> </BODY> </HTML> --------------------------------------------------------------------- ----hoge2.php-------------------------------------------------------- <?php function dispword(){ print xyz; } ?> --------------------------------------------------------------------- 実行結果は Fatal error: Call to undefined function: dispword() in ・・略・・****1.php on line 11 となります。 10行目じゃなく11行目にでてるということは、requireできてるんでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • (初級)require等で共通ファイルを読み込む場合のパスの書き方で…。

    単純な質問です。 定数ファイル等、共通のファイルを、サイト内のPHPファイル全てで読み込みたい場合の方法について。 example.com /index.php /[const]/main.php /[page]/index.php ※[ ]はディレクトリを表す サイトexample.comにおいて、 トップページ index.phpと、 /[page]以下のindex.phpで、 同じ定数ファイルを読み込みたいとします。 例では、/[const]/main.php を読み込もうとしています。 ------------------------------ index.phpのスクリプト内では、 require_once 'const/main.php'; ------------------------------ と書け、 ------------------------------ /[page]/index.phpのスクリプト内では、 require_once '../const/main.php'; ------------------------------ と書くことになるかと思います。 このとき、読み込むファイルのパスが両者で異なりますよね。 (「../」が有るか無いかで異なる) これを、共通化したいのですが、可能でしょうか? つまり、例えばですが、 require_once 'COMMON_FILE'; と書けば、どちらのスクリプトファイルにおいても、 正しいパスが読み込まれる、というような。 また、サイトドメインが変更されても、書き換えなくて済むようにしたいです。 (例)example.com → example.net へ移動しても、書き換え要らずの方法で、何か方法を教えて下さい。 とっても、初歩的なことをお聞きして、すみません。

    • ベストアンサー
    • PHP
  • require_onceについて

    MAMPを使用して開発しています。 MAMP/htdocsに入っているa.phpから同一階層にあるb.phpを呼びだそうと思い require_once('b.php'); と記述したのですが Warning: require_once(b.php): failed to open stream: No such file or directory in - on line 13 Fatal error: require_once(): Failed opening required 'b.php' (include_path='.:') in - on line 13 とエラーが表示されます。色々と試してみたもののうまくいかず。 アドバイスを宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 別のドメインのファイルをrequire

    phpで別のドメイン下のファイルをrequireしようとしていますがうまくいきません。 サーバーの環境は【Windows Server 2008 + IIS6.0 + php5.2】で、 php.iniのallow_url_includeはonに設定済みです。 ファイルA http://xxx.com/aaa.php   <html>   <head>   </head>   <body>   <?php   require_once("http://localhost/test.inc");   echo $remember;   ?>   </body>   </html> ファイルB http://yyy.com/bbb.php   <?php   $remember=5577;   ?> 仮にファイルAに「require_once("http://yyy.com/bbb.php");」と書いて実行すると、空白のページが出力され、ページのソースは   <html>   <head>   </head>   <body> となっていました。 phpコードを実行するところで処理が中断されたようです。 空白ページのタイトルは「500-内部サーバーエラー」です。 同じサーバーの違うドメインで試しても、物理的に別のサーバーで試しても結果は同じでした。 ネットで調べた限りでは結構みんなすんなりとできたみたいなので、なおさら不思議で仕方がないです。 何が考えられるか、教えていただければと思います。

    • ベストアンサー
    • PHP
  • 仮想ドライブにあるソースをrequireするには?

    WindowsでのPHPプログラミングに関する質問です。 コマンドプロンプトで、substを利用して仮想フォルダを作成しました。 ところが、phpプログラムからrequire_once()を使って その仮想フォルダ内のソースを読み込もうとするとエラーとなります。 どうすればこの問題が解決できるでしょうか? require_once()の処理では、substによる仮想フォルダは無視されるのでしょう? よろしくお願いします! 【具体的な内容(一部伏字です)】 ・仮想フォルダ > C:\WINDOWS\system32>subst > H:\: => C:\usr\local\phpdata > C:\WINDOWS\system32>tree /F h:\ > フォルダ パスの一覧: ボリューム IBM_PRELOAD > ボリューム シリアル番号は XXXX-XXXX です > H:\ > └─project1 > xxxx.php ※cat H:\phpdata\project1\xxxx.php ではちゃんとxxxx.phpの内容が表示されます ・require部分のソース require_once('H:/project1/xxxx.php'); ※require_once('C:/usr/local/phpdata/project1/xxxx.php'); なら正常にソースが読み込まれます ・エラーログ PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required 'h:/project1/xxxx.php' (include_path='.;C:\PHP\pear') in C:\.....\yyyy.php on line 11

    • ベストアンサー
    • PHP
  • 1つのファイルにrequireを何度も使うのは問題ありますか?

    header.php、main.php、side.php、footer.phpというファイルをそれぞれrequireで読み込んでいるindex.phpがあります。 若干、表示が遅いように思うのですが、それはrequireを多用しているからなのかなと思い質問させて頂きました。 今後は更に、1ファイルに10個以上のreuireを使う予定なのですが、そもそもこのような使い方は間違っているのでしょうか? また、このようなことをしたい場合、他にはどのような方法があるのでしょうか?

    • ベストアンサー
    • PHP