する質問をすることでしか得られない、回答やアドバイスがある。13(追記いたしました、よろしくお願いいたします。)PHPでファイル書き込み(csv出力)の実装をしています。そこで、なぜかタイトルの通り、出力をされたファイルをテキスト形式(.txt)でみると最初の行の最初に半角スペースが入ってしまっています。そのため、CSVでも、一行目一列目のみ半角スペースが2つ入ってしまっています。(画像参照)どうすればこれを無くせるでしょうか。以下コードと画像になります。皆さまご回答ありがとうございます。出力する内容を隠すためにサンプルの内容を入れたり多少変数名を変えたりしておりまして、その際コード全体として不自然になってしまいました。そのまま投稿したこと申し訳ありません。以下、その部分も補足しつつご質問の回答と、状態を書きたいと思います。⇒以下の画像の通り、テキストエディタで開いても半角スペースが二つ入ってしまっています。バイナリエディタで見たところやはり20(半角スペース)が入っておりました。⇒確認いたしましたが、PHPタグの前には何も入っておりませんでした。⇒上記の通り、バイナリ表示で20,半角スペースが入っておりました。シングルバイト文字でやってみましたが結果は変わらずでした。⇒確認しましたが、そのようなことはありませんでした。一連の処理の一部分のコードを切り出したものだと推察します。掲載された箇所のコードでは$dataListの初期化が行われていないことが気になります。何らかのデータが含まれているのであれば「あ」がセルA1の位置に来ない気がするのでしっくりきません。⇒はい、その通りでございます。具体的にはwebアプリケーションのあるコントローラー内の処理になります。$dataListの初期化は書き忘れておりました。「文字エンコーディングをUTF-8からSJISに変換したあとにimplodeにかけているの、逆じゃないでしょうか。⇒本当ですね...逆でした。これを逆にして試しましたが結果は変わらずでした...他に何か解決方法は考えられますでしょうか。【追記2】php.iniを調べてみました。mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml);mbstring.http_output_conv_mimetype=mbstring関係は全てコメントアウトされていました。;extension=php_mbstring.dllともなっておりました。attachmentクリップ1気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。06:28Excelではなくテキストエディタで開くとどうなってますか?もしかしたらバイナリエディタのほうがいいかもしれません。Excelではなくテキストエディタで開くとどうなってますか?もしかしたらバイナリエディタのほうがいいかもしれません。19:27確認しましたが、そのようなことはありませんでした....ほかに何か考えられますでしょうか。確認しましたが、そのようなことはありませんでした....ほかに何か考えられますでしょうか。19:34エンコーディング周りを総点検したくなる、php.iniでのdefault_charsetやmbstring.*も調べて質問文中に示してほしいかな。エンコーディング周りを総点検したくなる、php.iniでのdefault_charsetやmbstring.*も調べて質問文中に示してほしいかな。「あ,い」しか出力しないはずが、なんで2行目以降のデータがあるキャプチャ画像なのさ。示されたサンプルコードじゃないコードの出力については、面倒見きれないよ。「あ,い」しか出力しないはずが、なんで2行目以降のデータがあるキャプチャ画像なのさ。示されたサンプルコードじゃないコードの出力については、面倒見きれないよ。編集すみません、半角スペースとわかる比較になるかと勝手に判断してしまいました。「あ、い」しか出力しないコードでもう一度実行したものと画像を差し替えました。ご迷惑をおかけします。すみません、半角スペースとわかる比較になるかと勝手に判断してしまいました。「あ、い」しか出力しないコードでもう一度実行したものと画像を差し替えました。ご迷惑をおかけします。20:03PHPタグも含めてコード全体そのままご提示ください。一部だけではこちらも挙動確認できませんので。PHPタグも含めてコード全体そのままご提示ください。一部だけではこちらも挙動確認できませんので。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー+1下記、確認してみてください。空白2つなのであれば前者の気はしますが。追記:違いましたか・・。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。19:33ご回答ありがとうございます。確認してみましたが、そのようなことはありませんでした...。他に何か原因となりそうなものは考えられるでしょうか?ご回答ありがとうございます。確認してみましたが、そのようなことはありませんでした...。}を試したところ改善されました。バッファ溜まる部分が見たらず意味が分からないですが...コードを追って原因を突き止めたいと思います。試したところ改善されました。バッファ溜まる部分が見たらず意味が分からないですが...コードを追って原因を突き止めたいと思います。一連の処理の一部分のコードを切り出したものだと推察します。掲載された箇所のコードでは$dataListの初期化が行われていないことが気になります。何らかのデータが含まれているのであれば「あ」がセルA1の位置に来ない気がするのでしっくりきません。そもそもCSVファイルとして出力しているのであれば、Excelが勝手に変換している部分がないかを検証するためにCSVファイルをテキストエディタの類で開いて確認するものです。文字エンコーディングをUTF-8からSJISに変換したあとにimplodeにかけているの、逆じゃないでしょうか。SJISに変わったあとの文字列を、UTF-8的にimplodeで加工することでエンコーディングは保証されていない状態になります。文字化けなどが加わってもおかしくない状態です。出力する一行分のデータを作ってから、ファイルに書き出す直前に一行分のデータを文字エンコーディングを変えて出力する、なら意味あります。以上、ご確認ください。示されたコードを自分なりに書き換えて動かしてみました。空白2文字が入る現象が再現されず、webサーバーのレスポンスヘッダーにへんな細工がされていたりしないか、なんてオカルト的なことを疑いたくもなり。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。19:31ご回答ありがとうございます。・$dataListの初期化はここにコピペしてくる際に抜けておりました。・CSVファイルをテキストエディタで確認はしておりますが半角スペースが入っておりました。・エンコーディング変換後にimplodeは仰る通り逆でした。直してみましたが、半角スペースは消えませんでした...。何か他に考えることはありますでしょうか?ご回答ありがとうございます。・$dataListの初期化はここにコピペしてくる際に抜けておりました。・CSVファイルをテキストエディタで確認はしておりますが半角スペースが入っておりました。・エンコーディング変換後にimplodeは仰る通り逆でした。直してみましたが、半角スペースは消えませんでした...。なんてオカルト的なことを疑いたくもなり。あるファイルの確認もしてもらいたいですね。なんてオカルト的なことを疑いたくもなり。あるファイルの確認もしてもらいたいですね。20:01お手元で確認していただき、本当にありがとうございます....!!コード自体に問題はないということが分かっただけでも大変助かります。/tmp下も確認して参ります。コード自体に問題はないということが分かっただけでも大変助かります。/tmp下も確認して参ります。21:01/tmp以下に保存されるファイルは半角スペースが一つも入っておりませんでした。レスポンスヘッダーに問題があるということになるのでしょうか....!!/tmp以下に保存されるファイルは半角スペースが一つも入っておりませんでした。?>の外で出力されていると云うことになります。?>の外で出力されていると云うことになります。01:54ご回答ありがとうございます。エラーログはでておりませんでした。}を試したところ改善されました。皆さまご協力下さり本当にありがとうございました....!!ご回答ありがとうございます。エラーログはでておりませんでした。試したところ改善されました。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。編集ご回答ありがとうございます。追記した通りですが、やはり半角スペースに変わらず、シングルバイト文字でも結果は変わらずでした...。他に何か考えることはありますでしょうか?ご回答ありがとうございます。半角スペースに変わらず、シングルバイト文字でも結果は変わらずでした...。他に何か考えることはありますでしょうか?キャンセル完了するlink0記述にある範囲だと、問題に直結する箇所はないように思います。以下で、意図した出力になっていることを確認しました。"\n");}fclose($res);問題箇所は他にありそうですが。「表示」させて確認してみてください。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。01:57ご回答ありがとうございます!自分が見ている限りではデバッグでも原因はわかりませんでした...。}を試したところ改善されました。webフレームワークのコントローラー内のコードは完全にこれだけなのでどこか深いところで原因があるのかもしれません...。デバッグでも原因はわかりませんでした...。試したところ改善されました。webフレームワークのコントローラー内のコードは完全にこれだけなのでどこか深いところで原因があるのかもしれません...。10:31ステップ実行しながら出力用のバッファ確認すればイイと覆うよ。ステップ実行しながら出力用のバッファ確認すればイイと覆うよ。頂いたご意見への回答は行っておりません。