2016-03-28 17 views
1

Ich habe unter Code in meinem Skript.fputcsv erstellt ein weiteres Leerzeichen mit Leerzeichen

$file= fopen("./test.csv","x+"); 
    $proj_lists="name,age,address,city name,country name\n"; 
    fputcsv($file,explode(',',$proj_lists),',',' '); 
    fclose($file); 

Es erstellt eine CSV-Datei mit den angegebenen Werten. Mein Problem hier ist es schafft zusätzlichen Platz mit Doppelwort. Beispiel "Ländername" wird als "Land     Name" (2 Leerzeichen in diesem Wort) geschrieben.

So beheben Sie das Problem.

+0

Obwohl es nicht ganz klar ist, was auf einigen Hinweisen wird: dass die nachlaufZeilenUmbruch von '$ proj_lists' zu entfernen, ist es nicht Sinn machen und möglicherweise Probleme in einem zeilenbasierten Prozess verursachen. Als nächstes ersetzen Sie das umschließende Zeichen, das Sie gewählt haben (das Leerzeichen), durch etwas anderes, das Sinn ergibt, oder lassen Sie es weg. Versuchen Sie es erneut und melden Sie sich erneut. – arkascha

+0

Wenn ich das En näher entferne, fügt es doppelte Anführungszeichen hinzu. Ausgabe: Name, Alter, Adresse, "Stadt Name", "Land Name" – ManiMuthuPandi

+0

Ich entfernte Zeilenumbrüche auch – ManiMuthuPandi

Antwort

0

Eigentlich müssen Sie mit fputs() wie unten arbeiten: -

<?php 
    $file= fopen("./test.csv","x+"); 
    $proj_lists=explode(',',"name,age,address,city name,country name"); 
    fputs($file,implode($proj_lists, ',')); 
    fclose($file); 
?> 

Ausgang: - name,age,address,city name,country name

+0

Vor und Ende der Zeichenfolge zeigt Platz. Name der Stadt, – ManiMuthuPandi

+0

Es funktioniert, wie ich brauche – ManiMuthuPandi

+0

Verwenden von 'fputs' ist kein Ersatz für' fputcsv' in der Art, wie Sie es verwenden. –

0

hier Mein Problem ist es mit Doppelwort zusätzlichen Platz schafft

Das ist weil Sie ein Leerzeichen als String-Umgrenzungszeichen gewählt haben (4. Argument, Standardwert ist ein Anführungszeichen). Hier ist die erste Zeile der Ausgabe:

name,age,address, city name , country name 
       ^ ^^ ^^  ^^ 
       e ee e e  ee 

Wo e das Gehäuse ist, und ee ist das entwichene Gehäuse, die das Escape-Zeichen durch das Gehäuse Zeichen gefolgt ist (die ein Teil der Daten geschieht, zu sein, du bist versuchen auszugeben).

Es ist am besten, einfach die Standardeinstellungen zu verwenden, die mit fputcsv kommen; das heißt, rufen Sie die Funktion mit nur zwei Argumenten auf.

fputcsv($file, explode(',', $proj_lists)); 

Welche ausgegeben, was die meisten Tabellenkalkulationsanwendungen lesen:

name,age,address,"city""name","country name 
" 
Verwandte Themen