質問: new smarty(); $smarty->assign("header",$header); $smarty->display("date.html"); ■テンプレート {$header} 日付 ■表示例 include("header.php"); の内容が正常表示 1 日付 include("header.php"); の内容が正常表示された後、勝手に「1」と表示されるので、困ってます。表示されないようにするにはどうすればよいでしょうか。 var_dump($header);ってしたところ、int(1) ってなるので、この1が表示されているのかと思うのですが、なんで表示されるのか、表示されないようにするにはどうすればよいか、教えてください。
回答: $header = include("header.php"); とした場合、$header の中に header.php の中身が代入されるわけではありません。 include はプログラムのその場所に指定されたファイルの中身を展開してしまいます。 この時 $header にはincludeの実行結果として成功した場合 1 が入り、失敗した場合は false が入ります。 $header の中に header.php の中身を入れたい場合は $header = file_get_contents("header.php"); とするのがいいと思います。