Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben
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

Geschrieben
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!?

Geschrieben

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"

Geschrieben

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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...