私のスクリプトには以下のコードがあります。fputcsvは空白でもう1つスペースを作成します
与えられた値でcsvファイルを作成します。 ここで私の問題は、ダブルワードで余分なスペースを作成することです。 例「国名」は「国 」(2桁のスペース)と書かれています。
これを解決する方法。
私のスクリプトには以下のコードがあります。fputcsvは空白でもう1つスペースを作成します
与えられた値でcsvファイルを作成します。 ここで私の問題は、ダブルワードで余分なスペースを作成することです。 例「国名」は「国 」(2桁のスペース)と書かれています。
これを解決する方法。
は、実際に、あなたは以下のようにfputs()
で作業する必要があります -
<?php
$file= fopen("./test.csv","x+");
$proj_lists=explode(',',"name,age,address,city name,country name");
fputs($file,implode($proj_lists, ','));
fclose($file);
?>
出力: - name,age,address,city name,country name
文字列の前後にスペースがあります。 – ManiMuthuPandi
私が必要とするように動作します – ManiMuthuPandi
'fputs'を使うことは' fputcsv'をあなたの使い方で置き換えるものではありません。 –
ここに私の問題は、それがダブルワードで余分なスペースを作成しているのです
文字列囲み文字としてスペースを使用することを選択したため(4番目の引数、デフォルト値は二重引用符です)ここでは、出力の最初の行です:e
は囲いがある
name,age,address, city name , country name
^ ^^ ^^ ^^
e ee e e ee
は、とee
はあなたがしているデータの一部であることを起こる囲い文字(続くエスケープ文字でエスケープ筐体であり、出力しようとする)。
fputcsv
に付属のデフォルトをそのまま使用することをお勧めします。つまり、2つの引数のみを使用して関数を呼び出します。
fputcsv($file, explode(',', $proj_lists));
:
name,age,address,"city""name","country name
"
それはいくつかのヒントに何が起こっているかは全く明らかではないものの:、それは '$のproj_lists'からその末尾の改行を削除しません何らかの意味を持ち、行ベースのプロセスで問題を引き起こす可能性があります。次に、選択した囲み文字(空白)を意味のあるものに置き換えます。もう一度やり直してください。 – arkascha
これを取り除くと、二重引用符が追加されます。出力:名前、年齢、住所、 "都市名"、 "国名" – ManiMuthuPandi
また改行を削除しました – ManiMuthuPandi