Frage

Ich bin mit PHP und MySQL. Wenn ich eine Freigabe-Fotos Website tun will, was ist das beste Datenbank-Design für den Upload und Anzeige Fotos. Dies ist, was ich im Sinn haben:

domain:
  |_> photos
  |_> user

angemeldete Benutzer werden Fotos hochladen in     [ http://www.domain.com/user/upload.php]

Die Bilder werden in Dateisystemen gespeichert, und die Pfad-zu-Fotos in der Datenbank gespeichert. Also, in meinen Fotos Ordner wäre wie: Fotos / userA / Unterordner + Fotos, Fotos / userB / Unterordner + Fotos, Fotos / BenutzerC / Unterordner + Fotos etc

Public / andere Menschen sein Foto sehen können:     [ http://www.domain.com/photos/user/?photoid= 123]

, wo 123 die photoid ist, von dort werde ich aus der Datenbank abfragen, um den Pfad zu holen und das Bild angezeigt werden soll.

Meine Fragen:

  1. Was ist das beste Datenbank-Design für Foto-Sharing-Website (wie flickr)?

  2. Wird es Probleme geben, wenn ich neue Ordner halten zu schaffen, in „Fotos“ -Ordner. Was passiert, wenn Hunderttausende Benutzer registriert? Was ist die besten Praktiken

  3. Welche Größe der Fotos sollte ich halten? Derzeit ist nur ich Thumbnail (100x100) gespeichert und (max) 1600x1200 Pixel Fotos.

  4. Was andere Dinge, die ich sollte zur Kenntnis nehmen, wenn Fotos-Sharing-Website zu entwickeln?

War es hilfreich?

Lösung

1 - Bei einer Mindest Ihrer Datenbank von

bestehen sollte
users: user_id, user_name, pw_hash, salt
photos: photo_id, user_id, photo_path

Felder würden für zusätzliche Funktionen hinzugefügt werden, man wollte (Tags, last_seen, photo_upload_date, photo_views, etc ...)

2 - Dont vorzeitig optimieren. i gehen würde einen Benutzer / username Ordner für jeden Benutzer und Dumping der Nutzer Fotos dort mit hinzufügen.

3 - Ich empfehle die Originalgröße zu halten, Miniaturansicht und eine Größe, die für Ihre Website geeignet ist. also, wenn Ihr Layout ein Foto mit maximaler Breite von 850px Resize Alle Fotos zu einem max 850px breit hält. Wenn das youre, das Layout ändert können Sie das Originalbild verwenden und sie an die neue Größe ändern.

4 - gibt es eine ausgezeichnete Antwort auf SO irgendwo über das Hochladen von Bildern Sicherheit, aber ich kann es nicht finden. krank Augen offen halten.

denkt über ein CDN mit: https://stackoverflow.com/questions/72369/whats-the-best-cdn-for-image-hosting-on-a-high-volume-web-site

gutes Gespräch auf Skalierbarkeit, der Abschnitt über die Thumbnails wäre gut für Sie zu sehen: http: //www.youtube.com/watch?v=ZW5_eEKEC28 . dieses Video spricht über eine Datei-per-Verzeichnis Grenze in ext3-Dateisysteme die Sie interessieren werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top