Home > PHP > PHPの最後の?>は省略したほうがいい?!

PHPの最後の?>は省略したほうがいい?!

  • 2010-05-13 (木) 19:59
  • PHP

PHPについてちょっとお勉強です。

htmlにPHPをincludeさせる際のtips

今回includeされる側のファイルはphpのみで記述してある。

PHPのコードのみからなるファイルでは最後の?>を省略したほうがいいとのことです。
これは、ファイルの最後に余計な改行・空白等が含まれてしまうと表示や動作に影響してしまうためらしいです。

とはいえ、注意も必要なようです。
UnicodeでBOMをつけてしまうと、<?phpの前に文字が出力されてしまい、想定外のエラーが出てしまう可能性があるそうです。Unicode(UTF-8)で記述するときは、必ずBOM無しのエンコーディング(UTF-8N)を使用しましょう。

こういった問題への対策として、出力制御関数(ob_start()など)や、php.iniの設定でoutput_bufferingをOnにする(もしくはoutput_handlerを設定する)ことで、出力をバッファリングする方法があります。BOMによる問題も避けられる為、対策としてはリーズナブルですが、そもそも目的用途が違うことや、ゴミ(改行や空白)も残るので推奨されません。ただ、php.ini-recommendedではoutput_bufferingがOn(正確には4096バイトの値指定)になっています。recommendedを設定のベースにしている際には逆に「元々対策がされている」状態になってしまうので注意が必要です。

とのことです。 ほぉー…

【参考】
http://www.phppro.jp/phptips/archives/vol6/
http://itpro.nikkeibp.co.jp/article/COLUMN/20070307/264114/

No related posts.

コメント:84

****** 12-06-23 (土) 21:00
このコメントは管理者の承認待ちです
****** 12-06-27 (水) 9:57
このコメントは管理者の承認待ちです
****** 12-07-31 (火) 18:27
このコメントは管理者の承認待ちです
****** 12-10-01 (月) 18:17
このコメントは管理者の承認待ちです
****** 13-02-06 (水) 22:40
このコメントは管理者の承認待ちです
****** 13-02-22 (金) 3:05
このコメントは管理者の承認待ちです
****** 13-02-22 (金) 3:05
このコメントは管理者の承認待ちです
****** 13-02-22 (金) 3:07
このコメントは管理者の承認待ちです
****** 13-02-22 (金) 3:07
このコメントは管理者の承認待ちです
****** 13-05-09 (木) 8:59
このコメントは管理者の承認待ちです
****** 13-06-09 (日) 17:02
このコメントは管理者の承認待ちです
****** 13-06-25 (火) 12:04
このコメントは管理者の承認待ちです
****** 13-06-26 (水) 14:56
このコメントは管理者の承認待ちです
****** 13-07-15 (月) 20:00
このコメントは管理者の承認待ちです
****** 13-07-23 (火) 20:09
このコメントは管理者の承認待ちです
****** 13-07-24 (水) 15:58
このコメントは管理者の承認待ちです
****** 13-07-26 (金) 7:24
このコメントは管理者の承認待ちです
****** 13-08-09 (金) 1:13
このコメントは管理者の承認待ちです
****** 13-08-29 (木) 1:22
このコメントは管理者の承認待ちです
****** 13-08-29 (木) 3:32
このコメントは管理者の承認待ちです
****** 13-09-10 (火) 20:05
このコメントは管理者の承認待ちです
****** 13-10-08 (火) 11:59
このコメントは管理者の承認待ちです
****** 13-10-28 (月) 16:53
このコメントは管理者の承認待ちです
****** 13-11-01 (金) 17:52
このコメントは管理者の承認待ちです
****** 13-11-12 (火) 23:54
このコメントは管理者の承認待ちです
****** 13-11-14 (木) 23:34
このコメントは管理者の承認待ちです
****** 13-11-24 (日) 8:47
このコメントは管理者の承認待ちです
****** 13-11-29 (金) 3:24
このコメントは管理者の承認待ちです
****** 13-11-29 (金) 11:29
このコメントは管理者の承認待ちです
****** 13-11-30 (土) 2:25
このコメントは管理者の承認待ちです
****** 13-11-30 (土) 4:58
このコメントは管理者の承認待ちです
****** 13-11-30 (土) 16:22
このコメントは管理者の承認待ちです
****** 13-12-04 (水) 5:02
このコメントは管理者の承認待ちです
****** 13-12-13 (金) 13:47
このコメントは管理者の承認待ちです
****** 13-12-14 (土) 20:09
このコメントは管理者の承認待ちです
****** 13-12-16 (月) 11:34
このコメントは管理者の承認待ちです
****** 13-12-26 (木) 10:03
このコメントは管理者の承認待ちです
****** 13-12-29 (日) 2:53
このコメントは管理者の承認待ちです
****** 13-12-30 (月) 16:52
このコメントは管理者の承認待ちです
****** 14-01-06 (月) 2:29
このコメントは管理者の承認待ちです
****** 14-01-25 (土) 2:19
このコメントは管理者の承認待ちです
****** 14-01-28 (火) 8:24
このコメントは管理者の承認待ちです
****** 14-03-05 (水) 3:36
このコメントは管理者の承認待ちです
****** 14-03-09 (日) 8:42
このコメントは管理者の承認待ちです
****** 14-04-21 (月) 0:54
このコメントは管理者の承認待ちです
****** 14-05-02 (金) 7:31
このコメントは管理者の承認待ちです
****** 14-05-10 (土) 14:46
このコメントは管理者の承認待ちです
****** 14-05-19 (月) 10:22
このコメントは管理者の承認待ちです
****** 14-05-19 (月) 16:38
このコメントは管理者の承認待ちです
****** 14-05-19 (月) 20:17
このコメントは管理者の承認待ちです
****** 14-05-28 (水) 18:46
このコメントは管理者の承認待ちです
****** 14-05-28 (水) 22:10
このコメントは管理者の承認待ちです
****** 14-06-06 (金) 16:30
このコメントは管理者の承認待ちです
****** 14-06-06 (金) 20:07
このコメントは管理者の承認待ちです
****** 14-06-14 (土) 15:06
このコメントは管理者の承認待ちです
****** 14-06-15 (日) 19:51
このコメントは管理者の承認待ちです
****** 14-06-15 (日) 23:25
このコメントは管理者の承認待ちです
****** 14-06-24 (火) 23:14
このコメントは管理者の承認待ちです
****** 14-06-25 (水) 2:55
このコメントは管理者の承認待ちです
****** 14-06-25 (水) 22:16
このコメントは管理者の承認待ちです
****** 14-06-30 (月) 5:09
このコメントは管理者の承認待ちです
****** 14-07-03 (木) 16:40
このコメントは管理者の承認待ちです
****** 14-07-03 (木) 20:11
このコメントは管理者の承認待ちです
****** 14-07-12 (土) 9:35
このコメントは管理者の承認待ちです
****** 14-07-12 (土) 13:04
このコメントは管理者の承認待ちです
****** 14-07-13 (日) 16:19
このコメントは管理者の承認待ちです
****** 14-07-29 (火) 12:35
このコメントは管理者の承認待ちです
****** 14-08-08 (金) 20:02
このコメントは管理者の承認待ちです
****** 14-09-03 (水) 22:13
このコメントは管理者の承認待ちです
****** 14-10-04 (土) 4:27
このコメントは管理者の承認待ちです
****** 14-11-13 (木) 5:53
このコメントは管理者の承認待ちです
****** 14-11-25 (火) 1:51
このコメントは管理者の承認待ちです
****** 14-12-05 (金) 8:45
このコメントは管理者の承認待ちです
****** 14-12-12 (金) 16:37
このコメントは管理者の承認待ちです
****** 15-05-11 (月) 18:36
このコメントは管理者の承認待ちです
****** 15-05-12 (火) 21:15
このコメントは管理者の承認待ちです
****** 15-06-13 (土) 14:19
このコメントは管理者の承認待ちです
****** 15-06-26 (金) 19:59
このコメントは管理者の承認待ちです
****** 15-07-10 (金) 20:04
このコメントは管理者の承認待ちです
****** 15-08-14 (金) 12:40
このコメントは管理者の承認待ちです
****** 16-01-28 (木) 4:54
このコメントは管理者の承認待ちです
****** 16-02-15 (月) 16:09
このコメントは管理者の承認待ちです
****** 16-05-30 (月) 16:24
このコメントは管理者の承認待ちです
****** 17-02-19 (日) 22:36
このコメントは管理者の承認待ちです
コメントフォーム
Remember personal info

トラックバック:0

このエントリーのトラックバックURL
http://web.donnatokimo.com/php/171/trackback
Listed below are links to weblogs that reference
PHPの最後の?>は省略したほうがいい?! from ウェブなとき。

Home > PHP > PHPの最後の?>は省略したほうがいい?!

want

Return to page top