burnersk Geschrieben 17. Juni 2007 Teilen Geschrieben 17. Juni 2007 Hallo. Ich möchte ein PHP5-Script schreiben, dass gespeicherte Dateien in meiner MySQL5 Datenbank ohne Zwischenspeicherung direkt zum Clienten sendet. Ich denke mir nun: - MySQL Verbindung öffnen - Binärdaten der Datei laden - Binärdaten gleich über das aufgerufende Script senden. Features: - Dateiname muss mit übergegen werden (wird übergeben aus DB. Bsp: $filename) - Seite darf nicht auf eine blank-Seite umgeleitet werden. Browser muss Seitenaufruf als Downloadaufruf interpretieren Ich habe mit das so gedacht: DB: - [!] category schlüsselfeld1, bsp: freeware - [!] file_title schlüsselfeld2, dateiname, bsp: datei.endung - file_binary binärdatei Variablen ans PHP Script werden übergeben: getfile.php?cat_id=freeware&file_title=datei.endung Ich habe bis jetzt nur (eigene/fremde) lösungen gefunden mit zwischenspeicherung Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 17. Juni 2007 Teilen Geschrieben 17. Juni 2007 Hallo, definiere Zwischenspeicherung. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 17. Juni 2007 Autor Teilen Geschrieben 17. Juni 2007 Datei aus DB laden und in Datei auf Server speichern. Dann Datei auf Server an den Client senden. (fopen etc...) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 17. Juni 2007 Teilen Geschrieben 17. Juni 2007 Schau mal dort. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 20. Juni 2007 Teilen Geschrieben 20. Juni 2007 Datei aus DB laden und in Datei auf Server speichern. Dann Datei auf Server an den Client senden. (fopen etc...) du kannst das doch auch direkt machen. das BLOB-feld (falls es sich um ein solches handelt, was du leider nicht preisgegeben hast) auslesen, einen header() senden und den inhalt des binärfeldes mit echo() ausgeben. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 22. Juni 2007 Autor Teilen Geschrieben 22. Juni 2007 Hi, und wie kann ich einen Dateinamen übergeben? Bislang waren die Namen getfile.php?.... etc. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 22. Juni 2007 Teilen Geschrieben 22. Juni 2007 Was für einen Dateinamen? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 22. Juni 2007 Autor Teilen Geschrieben 22. Juni 2007 Was für einen Dateinamen? Frank Na ja, den der Datei... Die ich in der Datenbank gespeichert habe "datei.endung" heißt momentan: "getfile.php?cat=testkategorie&title=datei&typ=endung". Nicht gerade aufschlussreich, oder!? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 22. Juni 2007 Teilen Geschrieben 22. Juni 2007 Wieso? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 22. Juni 2007 Autor Teilen Geschrieben 22. Juni 2007 Es ist für den User einfacher (besonders für *nicht FIs*) den Dateinamen zu haben anstatt: > Herunterladen von "getfile.php?id=142" eben > Herunterladen von "datei.endung" Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 23. Juni 2007 Teilen Geschrieben 23. Juni 2007 Ich versteh nicht was Du willst. Der Download wird doch über einen Link aufgerufen und dort ist es doch egal wie der Link lautet oder nicht? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 23. Juni 2007 Autor Teilen Geschrieben 23. Juni 2007 Nicht den Link. Man kann den Dateinamen über *wasfüreinheaderauchimmer* dem client übermitteln. User, die gerade mal wissen, wie man ein pc anmacht, klicken auf "Abbrechen", wenn nicht "datei.endung" bei "Speichern unter" steht sondern "getfile.php?id=1243465465467". Oder der user lädt die Datei runter. nach einer woche braucht er die datei... "1243465465467" kann man sich doch gut merken!!!! nein! ich brauche doch nur diese *zensiert* header("xxx"); anweisung zur übermittlung des Dateinamens. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 23. Juni 2007 Teilen Geschrieben 23. Juni 2007 Ah. header("Cache-control: private"); header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=".$dateiname); Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
burnersk Geschrieben 23. Juni 2007 Autor Teilen Geschrieben 23. Juni 2007 Danke, sorry für den post. aber ich stehe gerade etwas unter zeitdruck Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.