file_get_contents
関数+echo
構文で行うことは、readfile
関数を使えば一発で出来る上に、巨大ファイルであったとしても効率よくメモリを使うことが出来ます。
lang
1<?php
2header('Content-Type: text/html; charset=utf-8'); // Content-Typeヘッダで文字セットを指定
3readfile(__DIR__ . '/test.html'); // __DIR__ を用いて絶対パスで指定する
HTMLを出力した後は、たとえサーバ側から見ればPHPファイルであっても、クライアント側から見れば素のHTMLファイルと全く同じ扱いになります。PHPがサーバサイドで実行される言語であるからです。ブラウザの機能でソースを表示し、出力されているHTMLを確認してください。JavaScriptの動きがおかしいのであれば、もともとtest.html
の記述に問題があったことになります。
「*.html
をそのまま表示したときは正常にJavaScriptが動いたのに、*.php
なファイルからreadfile
関数を使って間接的に表示させたら動かなくなった」
ということは原理的にどう考えてもあり得ません。
【補足】
HTML内に<?
や?>
が存在していない場合、require``include
のようにファイル内容をPHPとして評価する言語構文でも、readfile``file_get_contents
のようにファイル内容をそのまま文字列として扱う関数でも、どちらを選択しても正しく動作します。但し、PHPコードを実行する意図が無ければ後者を選択しておいた方が無難でしょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/12/26 10:27
2014/12/27 18:36