08/06
Schöner Speichern:
Generierte Dateien zum Download anbieten mit AJAX und PHP
Part III - Die PHP-Files
<?php
$path = 'temp/testfile.txt';
$fp = fopen($path, "w");
if ($fp) {
fwrite($fp,"Ich bin eine Testdatei !\n");
fwrite($fp,"Ich wurde erzeugt am ".date('d.m.Y H:i:s'));
fclose($fp);
}
else
echo "Erzeugen der Datei fehlgeschlagen !"
?>Hmm, was soll ich hierzu groß schreiben ? Eine Datei wird geöffnet, was reingeschrieben und wieder geschlossen. Ist dies erfolgreich kommt nichts zurück, ansonsten eine Fehlermeldung. Natürlich ist drauf zu achten, dass der Ordner die entsprechenden Schreibberechtigungen besitzt.
<?php
$filename = 'temp/testfile.txt';
$saveAsName = 'testfile.txt';
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$saveAsName."\"");
readfile($filename);
?>Dieser Fünfzeiler ist die klassische Art, eine Datei unter PHP zum Download anzubieten.
Die richtigen Header sind hierbei von Bedeutung.
Natürlich soll dieses Tutorial und die Code-Stückchen lediglich einen Denkanstoss darstellen. Der Einfachheit halber habe ich weitestgehend auf Fehlerbehandlung verzichtet und auch das Speichern einer frisch erzeugten Datei unter einem festen Namen sollte man in der Regel tunlichst vermeiden.