سؤال

أنا أستخدم PHP و MySQL. إذا كنت أرغب في إجراء موقع على الويب للمشاركة ، فما هو أفضل تصميم قاعدة بيانات للتحميل وعرض الصور. هذا ما أفكر فيه:

domain:
  |_> photos
  |_> user

سيتم تسجيل الدخول إلى المستخدم الصورة في [[http://www.domain.com/user/upload.php

يتم تخزين الصور في أنظمة الملفات ، ومسار إلى photos المخزنة في قاعدة البيانات. لذلك ، في مجلد الصور الخاص بي سيكون مثل: الصور/Usera/sublespers+الصور ، الصور/المستخدم/المجلدات الفرعية+الصور ، الصور/USERC/sublesters+صور إلخ

الجمهور/الآخرين قد ينظرون إلى صورته في: [http://www.domain.com/photos/user/؟photoid=123

عندما يكون 123 هو photoid ، من هناك ، سأستفسر من قاعدة البيانات لجلب المسار وعرض الصورة.

أسئلتي:

  1. ما هو أفضل تصميم قاعدة بيانات لموقع مشاركة الصور (مثل Flickr)؟

  2. هل ستكون هناك أي مشاكل إذا استمرت في إنشاء مجلد جديد في مجلد "الصور". ماذا لو سجل مئات الآلاف من المستخدمين؟ ما هي أفضل الممارسات

  3. ما هو حجم الصور التي يجب أن أحتفظ بها؟ حاليا أنا فقط تخزين الصورة المصغرة (100x100) و (كحد أقصى) 1600x1200 بكسل الصور.

  4. ما هي الأشياء الأخرى التي يجب أن أتناولها عند تطوير موقع مشاركة الصور؟

هل كانت مفيدة؟

المحلول

1 - على الأقل يجب أن تتكون قاعدة البيانات الخاصة بك

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

ستتم إضافة الحقول للحصول على وظائف إضافية تريدها (العلامات ، Last_seen ، photo_upload_date ، photo_views ، إلخ ...)

2 - لا تتحسن قبل الأوان. أود أن أذهب مع إضافة مجلد المستخدم/اسم المستخدم لكل مستخدم وإلقاء صور المستخدمين هناك.

3 - أوصي بالحفاظ على الحجم الأصلي والثنائي المصغرة وحجم مناسب لموقعك. لذا ، إذا كان تخطيطك يحمل صورة ذات عرض أقصى قدره 850 بكسل ، قم بتغيير حجم جميع الصور إلى حد أقصى 850 بكسل. إذا تغيرت تخطيطك ، فيمكنك استخدام الصورة الأصلية وتغيير حجمها إلى الحجم الجديد.

4 - هناك إجابة ممتازة في مكان ما عن أمان تحميل الصورة ولكن لا يمكنني العثور عليه. سأظل تبحث.

فكر في استخدام CDN: https://stackoverflow.com/questions/72369/whats-the-best-cdn-for-image-hosting-on-a-high-volume-web-site

حديث جيد عن Scalabilty ، سيكون القسم الموجود في الصور المصغرة مفيدًا لمشاهدته: http://www.youtube.com/watch؟v=ZW5_EEKEC28. يتحدث هذا الفيديو عن حد ملف لكل دليل في أنظمة ملفات Ext3 التي قد تكون مهتمًا بها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top