Ich habe Daten in einer MySQL-Datenbank. Ich sende dem Benutzer eine URL, um seine Daten als CSV-Datei zu erhalten.
Ich habe das E-Mail-Versenden des Links, der MySQL-Abfrage usw. abgedeckt.
Wie kann ich, wenn sie auf den Link klicken, ein Popup haben, um ein CVS mit dem Datensatz von MySQL herunterzuladen?
Ich habe alle Informationen, um die Aufzeichnung bereits zu erhalten. Ich sehe nur nicht, wie PHP die CSV-Datei erstellen und sie eine Datei mit der Erweiterung .csv herunterladen lassen soll.
php
csv
download
http-headers
d -_- b
quelle
quelle
php: // fputcsv ausgeben
quelle
outputCSV
Funktion ist unnötig kompliziert. Sie können einfachforeach
vorbei$array
und seine Werte direkt in sendenfputcsv
. Keine Notwendigkeit dafür__outputCSV
und dasarray_walk
:)foreach($data as $vals) {fputcsv($filehandler,$vals);}
"Prévalence","age 1","city 1"
Irgendwelche Ideen? Das Spielen mit UTF-8 hat bisher nicht geholfen.Hier ist eine verbesserte Version der Funktion von php.net, die @Andrew veröffentlicht hat.
Es ist sehr einfach zu bedienen und funktioniert hervorragend mit MySQL (i) / PDO-Ergebnismengen.
Denken
exit()
Sie daran, nachdem Sie dies aufgerufen haben, wenn Sie mit der Seite fertig sind.quelle
fputcsv($outstream, array_keys($results[0]));
kurz vor Ihrem hinzu,foreach
um auch Spaltenüberschriften einzuschließen.Zusätzlich zu allem, was bereits gesagt wurde, müssen Sie möglicherweise Folgendes hinzufügen:
Dies ist sehr nützlich, wenn Sie Dateien mit mehreren Sprachen verarbeiten, z. B. Namen von Personen oder Städte.
quelle
Der Thread ist ein wenig alt, ich weiß, aber als zukünftige Referenz und für Noobs wie mich:
Alle anderen hier erklären, wie man die CSV erstellt, verpassen jedoch einen grundlegenden Teil der Frage: wie man sie verknüpft. Um einen Link zum Download der CSV-Datei zu erstellen, verlinken Sie einfach auf die PHP-Datei, die wiederum als CSV-Datei reagiert. Die PHP-Header machen das. Dies ermöglicht coole Dinge wie das Hinzufügen von Variablen zum Querystring und das Anpassen der Ausgabe:
my_csv_creator.php kann mit den im Abfragering angegebenen Variablen arbeiten und beispielsweise verschiedene oder angepasste Datenbankabfragen verwenden, die Spalten der CSV ändern, den Dateinamen personalisieren usw., z.
quelle
Erstellen Sie Ihre Datei und geben Sie einen Verweis mit dem richtigen Header zurück, um das Speichern unter auszulösen. Bearbeiten Sie Folgendes nach Bedarf. Fügen Sie Ihre CSV-Daten in $ csvdata ein.
quelle
Hier ist ein voll funktionsfähiges Beispiel mit PDO und Spaltenüberschriften:
quelle
Machen Sie zuerst Daten als String mit Komma als Trennzeichen (getrennt durch ","). Etwas wie das
quelle
Hey es funktioniert sehr gut .... !!!! Vielen Dank an Peter Mortensen und Connor Burton
?>
quelle
Einfache Methode -
Jede Zeile des
$data
Arrays wird also in eine neue Zeile Ihrer neu erstellten CSV-Datei verschoben. Es funktioniert nur für PHP 5 und höher.quelle
Sie können Ihre Daten einfach mit in CSV schreiben Funktion fputcsv schreiben . Schauen wir uns das folgende Beispiel an. Schreiben Sie das Listenarray in die CSV-Datei
quelle
Am einfachsten ist es, eine dedizierte CSV-Klasse wie die folgende zu verwenden:
quelle
Anstatt:
Verwenden:
quelle
Es kam bereits eine sehr gute Lösung. Ich gebe nur den Gesamtcode ein, damit ein Neuling die totale Hilfe bekommt
Ich habe diesen Code in csv-download.php gespeichert
Nun sehen Sie, wie ich diese Daten zum Herunterladen der CSV-Datei verwendet habe
Wenn ich auf den Link geklickt habe, wird die Datei heruntergeladen, ohne dass ich im Browser zur Seite csv-download.php weitergeleitet werde.
quelle
Verwenden Sie header (), damit es als CSV gesendet und der Dateiname angegeben wird:
http://us2.php.net/header
Wenn Sie die CSV selbst erstellen möchten, durchlaufen Sie einfach die Ergebnismenge, formatieren die Ausgabe und senden sie wie alle anderen Inhalte.
quelle
Das Schreiben Ihres eigenen CSV-Codes ist wahrscheinlich Zeitverschwendung. Verwenden Sie einfach ein Paket wie League / CSV - es behandelt alle schwierigen Dinge für Sie, die Dokumentation ist gut und es ist sehr stabil / zuverlässig:
http://csv.thephpleague.com/
Sie müssen Composer verwenden. Wenn Sie nicht wissen, was ein Komponist ist, empfehle ich Ihnen dringend, einen Blick darauf zu werfen: https://getcomposer.org/
quelle
quelle
Wie schreibe ich in eine CSV-Datei mit einem PHP-Skript? Eigentlich habe ich auch danach gesucht. Mit PHP ist das eine leichte Aufgabe. fputs (Handler, Inhalt) - diese Funktion arbeitet für mich effizient. Zuerst müssen Sie die Datei, in die Sie Inhalte schreiben müssen, mit fopen ($ CSVFileName, 'wb') öffnen.
quelle
Geben Sie
$output
die CSV-Daten in die Variable ein und geben Sie die richtigen Überschriften einquelle