ホーム > php > phpでファイルをinclude時に謎の空白行が入る問題を解決

phpでファイルをinclude時に謎の空白行が入る問題を解決

phpのファイルで、特定のファイルをincludeして読み込んだ場合に、謎の空白行が上に1行入る問題がありました。

発生した問題

phpファイルのヘッダの上に謎の空白行が1行表示される

原因の究明方法

まずはchromeのデベロッパーツールでソースコードを調べたが、ソースコード上には何の問題も見られない。
phpファイルのプログラムの行を削除して調べていたところ、特定のphpファイルをincludeした際に改行が入っていた。
該当のphpファイルを調査したが、問題ないソースコードであるように見受けられ、不要な出力や改行、全角文字なども見当たらなかった。

解決策

該当の問題となっていたphpファイルを新規作成して作り直し、同様のコードをコピーペーストして同様の内容とした。
作り直したファイルをアップロードしたところ問題は解消した。

つまり、もともとのファイルを作成した際に、文字コードや改行コードの微妙な違いがあったようである。

詳しい原因は分からないが、作成した時に使っていたエディタや環境と、現在使っている環境(phpstorm)が異なっていたために、微妙な差があって発生していた問題かもしれない。

コメント:2

クレ 2019年4月3日

こちらの記事のおかげで、3日間調べて試行錯誤して悩み抜いて憔悴した「謎の空白行」問題がやっと解決しそうです!
うちの場合は、インクルードする外部ファイルの文字コードがutf-8のBOM付きになっていたことが原因だったようで、外部ファイルをBOM無しにエンコードしただけで解消しました。

もっぱらスクリプトを書いている方々は、あまりこういう問題には縁がないんでしょうね・・・、回答につながるような記事がなかなか見つからなくて苦労しました。
こういうさりげない小さな記事が、とっても役に立つことがよくあるんです。書いてくださって本当にありがとうございます!

管理人 2019年5月23日

クレ様>
書いた記事が役に立ったようで何よりです。
こちらこそ励みになりました。

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
https://www.itblog.jp/wp-trackback.php?p=9608
トラックバックの送信元リスト
phpでファイルをinclude時に謎の空白行が入る問題を解決 - ITblog より

ホーム > php > phpでファイルをinclude時に謎の空白行が入る問題を解決

フィード

ページの上部に戻る