Hinzufügen einer Stückliste zur CSV-Datei mit fputcsv

Ich habe eine einfache CSV-Datei, die Fremdzeichen enthält. Ich habe festgestellt, dass die Fremdzeichen in Excel nicht richtig angezeigt werden, wenn ich kein Byte Order Mark einfüge (sie werden jedoch in Ordnung angezeigt, wenn eine Stückliste vorhanden ist).

Wie kann ich eine Stückliste am Anfang der Datei hinzufügen, wenn sie zum ersten Mal erstellt wird? Ich habe Folgendes versucht und es funktioniert nicht: - /

function processForm($competition, $competitionEntry) {
    $BOM = "\xEF\xBB\xBF"; // UTF-8 BOM

    $filename = $competition->ID.".csv";
    $file = "entries/".$filename;     

    $fields = array_keys($competitionEntry);
    $submittedForm = $competitionEntry;

    if(file_exists($file)) {
        $fp = fopen($file, 'a');
        if($fp && 
            fputcsv($fp, $submittedForm) && 
            fclose($fp)) {
            return true;
        } 
    } else { // CREATE NEW FILE
        $fp = fopen($file, 'w');
        if($fp && 
            fputcsv($fp, $BOM) && // WRITE BOM TO FILE   
            fputcsv($fp, $fields) &&
            fputcsv($fp, $submittedForm) &&
            fclose($fp)) {     
            return true;
        } 
    }
    return false;
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage