erzeugen und herunterladen .csv Datei mit PHP und jQuery
Ich generieren lassen wollen .csv-Datei, dann laden Sie es mit AJAX
Insite csv.php ich habe diesen code:
<?php
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");
$file = fopen("th.csv","r");
$list = array();
while(! feof($file))
{
$list[] = (fgetcsv($file));
}
fclose($file);
$list[] = array('name5', 'town5');
$list[] = array('name6', 'town6');
$list = array_filter($list);
outputCSV($list);
function outputCSV($list) {
$output = fopen("php://output", "w");
foreach ($list as $row) {
fputcsv($output, $row);
}
fclose($output);
}
?>
also, wenn ich werde csv.php es macht mir download der csv-Datei.
Dann innerhalb test.php ich habe das jQuery-code:
$(document).on('click', '#listCSV', function() {
var el = $(this),
csv = el.attr('csv');
$.ajax({
type: 'POST',
url: 'csv.php',
data: {
listCSV: csv
},
success: function(data, textStatus, jqXHR) {
el.html($(data));
}
});
});
Aber wenn ich Klick auf #listCSV nichts passiert, nichts wird heruntergeladen,
Irgendeine Idee, wie kann ich den download der csv-Datei, die beim Klick auf #listCSV?
Du musst angemeldet sein, um einen Kommentar abzugeben.
sagen:
root/csv/file_timestamp.csv -
wenn die Datei generiert wird, benutzen Sie einfach die file_timestamp.csv-Standort auf, du bist link.
also, wenn Ihr file_timestamp.csv ist erreichbar über
http://project/csv/file_timestamp.csv
dann nur einen link auf einen regulären link:
Hinweis:
wenn Sie nicht erwarten, mehrere Benutzer zu erzeugen, csv-Dateien, dann einfach eine temporäre Datei, dann kannst du den link als statisch. wenn nicht, löschen Sie einfach jede Datei in die csv-Ordner alle 3mins
Müssen Sie ändern Sie die header-Informationen ausgegeben werden als download :