Dennis: Ist es sinnvoll, Bilder in der Datenbank zu speichern?

Beitrag lesen

Hi Marko,

Zu deinen Einwänden: Was spricht dagegen auf dem Server ein PHP Script zu haben, was das Bild in Empfang nimmt?

Diese Idee gefällt mir richtig gut. Aber wie schütze ich es dann vor Missbrauch? Und haben nicht allzuviele Provider eine Uploadbegrenzung unter 2 oder gar einem Megabyte?

Vor Missbrauch kannst du das Script mittels einer HTTP Authentifizierung schützen - wo ist da das Problem?

Die Uploadbegrenzung ist da i.d.R. schon ein größeres Problem. Da spielen 3 Parameter eine Rolle:

  • file_uploads: Muss auf 1 stehen, damit PHP überhaupt Dateien vom Clienten in Empfang nimmt, Grundeinstellung ist 1.
  • upload_max_filesize: Gibt die Größe an, die _eine einzelne_ hochzulandende Datei maximal haben darf, Grundeinstellung sind 2 MB.
  • post_max_size: Legt fest, wie viele Daten PHP insgesamt überhaupt per POST entgegennimmt, ist somit die Beschränkung für alle hochzuladenden Dateien zusammen, Grundeinstellung sind 8 MB.

Diese Optionen musst du natürlich erst einmal alle prüfen, bevor du weitermachen kannst. Weiterhin solltest du prüfen, ob auf dem Server PHP als Apache Modul oder über CGI läuft. Läuft PHP über letzeres, kannst du die Runtime Configuration verwenden, mit der du die 3 Optionen oben für deine Bedürfnisse abändern kannst.

Wenn du es richtig kompliziert machen willst, könntest du natürlich das Bild auch temporär in ein DB schreiben und dann mit einem Script auf dem Server die Bilder aus der temporären Datenbank regelmäßig auslesen und auf den Server schreiben ;-)

Was die Antwort wäre auf beide vorangehenden Fragen ;)

Richtig, das wäre sozusagen eine Problemlösung, wenn es dir aus technischen Gründen nicht gelingt, die Sachen über ein Formular upzuloaden - setzt allerdings vorraus, dass die Datenbank von außen abrufbar sein muss. Und wenn dir nicht gerade Cronjobs zur Verfügung stehen, mit denen du z.B. alle 10 Minuten nach neuen Bilder schauen kannst, musst du eben noch manuell ein Script übers Web aufrufen, was dir die Daten aus der DB holt.

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Die Stoßstange ist aller Laster Anfang! (Häfft)