Ich habe eine Debatte mit einem anderen Programmierer (PHP) und wir beide stimmen nicht überein, wenn es um GUIDs geht. Angenommen, die Informationen zu jedem Bild werden in einem DB gespeichert und haben einen eigenen Primärschlüssel (int).
Welche Gründe könnte es geben, eine eindeutige ID für den Image-Dateinamen zu verwenden, ohne sich um doppelte Dateinamen kümmern zu müssen?
Ich möchte seine Methodik nicht missachten, aber es passt auch nicht gut zu mir.
Danke! Ben
Aktualisierung: Nachdem viele + 1 für GUIDs gehört wurden, wie könnte SEO durch "zufällig" erzeugte Bilddateinamen beeinflusst werden? (Danke Sukumar)
Welche Gründe könnte es geben, eine eindeutige ID für den Image-Dateinamen zu verwenden, ohne sich um doppelte Dateinamen kümmern zu müssen?
Die Verwendung eines Autoinkrement-Primärschlüssels für einen Dateinamen würde es ermöglichen, die URLs anderer Bilder zu erraten, die Sie möglicherweise nicht möchten. Je nachdem, wie Ihr System funktioniert, könnten Benutzer beispielsweise Zugriff darauf erhalten Bilder, die (noch) nicht zur Veröffentlichung bestimmt sind.
Ich denke, die Verwendung eindeutiger IDs ist eine gute Idee.
Zusammenfassung : Es ist ein Kompromiss, den Sie basierend auf Ihren Anforderungen berücksichtigen müssen. Es scheint jedoch mehr Vorliebe zu geben, GUIDs zu wählen.
Wenn Sie es in einer Datenbank unter Verwendung eines Primärschlüssels speichern, würde ich vorschlagen, diese als eindeutige ID (und damit als Dateinamen) zu verwenden. Es macht wenig Sinn, zwei eindeutige Spalten in einer Datenbank zu haben, die eine Ressource identifizieren. Ich würde übrigens kein Auto-Inkrement-Feld für diesen Primärschlüssel verwenden. Es ist leicht, andere Bild-IDs zu erraten, die möglicherweise unerwünscht sind.
Die Wahl zwischen den beiden ist eine Frage des Geschmacks, denke ich. Wir benutzen beides. Die Dateinamen werden meistens verwendet, aber dann müssten Sie Rechte haben, um die Datei anzuzeigen. Wir verwenden auch eine eindeutige ID, vermeiden jedoch die Rechteprüfung und ermöglichen es jemandem, Bilder mit Nichtbenutzern zu teilen.