CSV/Excel Dateierstellung Probleme mit Temp

evoleena

Erfahrenes Mitglied
Hallo Leute

ich habe zwei Skripte, einmal wo eine CSV Datei und einmal eine Excel Datei erstellt wird, je nachdem welche der Nutzer braucht.
Problem an der Sache ist, das im Temp Verzeichnis die Dateien vom Explorer/Firefox ja hinterlegt werden, und wenn ich im Downloadverzeichnis/Liste die Datei wieder aufrufe, bekomme ich immer die, die als erstes erstellt wurde, wie kann ich das unterbinden.

Nun hatte ich mir gedacht probier ich es mal damit, das ich nicht nur das aktuelle Datum mit in den Dateinamen einbaue, sondern auch Uhrzeit. Aber da spinnt er nur noch rum. Könnt ihr mir sagen warum. Der Dateiname wird so angezeigt, aber in der Datei steht eine Fehlermeldung

Das ist mein Quelltext dazu:
PHP:
$zeit = date('YmdHis', time());
$datei='testdatei_'.$zeit.'.csv';
header ("HTTP/1.1 200 OK");
header("Content-type: text/plain"); 
header("Content-Disposition: attachment; filename=\"$datei\""); 
readfile($datei);
$fp = fopen($datei, 'w');

Fehlermeldung:
Code:
<br />
<b>Warning</b>:  readfile(testdatei_20090328120133.csv) 
[<a href='function.readfile'>function.readfile</a>]: 
failed to open stream: No such file or directory in

Oder gibts noch eine andere Möglichkeit die Erstellung und den Download zu realisieren

EDIT: Eins noch, ich füge nach dem Quellcode oben meine Daten mit fputs ein, zum schluss schließe ich die Datei mit fclose.

Gruß
Evo
 
Zuletzt bearbeitet:
So habs jetzt ein wenig umgeändert.

Nun wird die Datei im Verzeichnis angezeigt. Senden der Datei mit Uhrzeit im Dateinamen klappt auch, aber leider steht in der Datei nix drin, im htdocs Order/Webserver steht der richtige Inhalt drin.
Woran liegt das jetzt noch, das die Datei leer ist?

PHP:
$datei='test.csv';
touch($datei);
$fp = fopen($datei, 'w');
fputs(.....);
fclose($fp);
header ("HTTP/1.1 200 OK");
header("Content-type: text/x-csv"); 
header('Content-disposition: attachment; filename='.$datezeit."_".$datei);
header("Pragma: no-cache");

Gruß
Evo
 
Zurück