2016-10-31 7 views
1

ich eine Datei mit fputcsv erstelltDatei leer nach fputcsv

$handle = fopen('php://output', 'w+'); 

    // Add the header of the CSV file 
    fputcsv($handle, array('Name', 'Surname', 'Age', 'Sex'), ';'); 
    // Query data from database 

    // Add the data queried from database 
    foreach ($results as $result) { 
     fputcsv(
      $handle, // The file pointer 
      array(...), // The fields 
      ';' // The delimiter 
     ); 
    } 

    file_put_contents('mycsv.csv',fgetcsv($handle), FILE_APPEND); 

    fclose($handle); 
.... 

Ich möchte die Ausgabe auf mycsv.csv speichern, aber die Datei ist leer

Antwort

1

Die php://output ist ein stream, die wie echo oder print arbeitet . Das bedeutet, Sie schreiben in die Standardausgabe (vielleicht Ihre Konsole oder den Browser).

Wenn Sie Ihren Inhalt in eine CSV-Datei schreiben möchten, versuchen Sie, diese Datei zu öffnen oder direkt mit PHP zu erstellen, statt file_put_contents zu verwenden.

$handle = fopen("mycsv.csv","wb"); 
fputcsv($handle, array('Name', 'Surname', 'Age', 'Sex'), ';'); 
//...put your code 
rewind($handle);//optional.it will set the file pointer to the begin of the file