سؤال

بالنسبة لتطبيق ويب لاستضافة الصور:

بالنسبة لصوري المخزنة، هل من الممكن إنشاء صور مصغرة بسرعة باستخدام PHP (أو أي شيء آخر)، أم يجب علي حفظ صورة مصغرة واحدة أو أكثر بأحجام مختلفة على القرص وتحميلها فقط؟

هو موضع تقدير أي مساعدة.

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

المحلول

حفظ الصور المصغرة على القرص.تتطلب معالجة الصور الكثير من الموارد، اعتمادًا على حجم الصورة، قد تتجاوز الحد الافتراضي للذاكرة المسموح بها لـ php.لا يعد الأمر مصدر قلق إذا كان لديك خادم خاص بك مع تشغيل تطبيقك فقط ولكن لا يزال الأمر يتطلب الكثير من طاقة وحدة المعالجة المركزية والذاكرة لتغيير حجم الصور.إذا كنت تفكر في إنشاء صور مصغرة بسرعة على أي حال، فلن تحتاج إلى تغيير الكثير - عند الطلب الأول، قم بإنشاء الصورة المصغرة من الملف المصدر، واحفظها على القرص، وعند الطلبات اللاحقة، ما عليك سوى قراءتها من القرص.

نصائح أخرى

أنا أستعمل phpThumb, ، لأنه أفضل ما في العالمين.يمكنك إنشاء صور مصغرة بسرعة، ولكنه يقوم تلقائيًا بتخزين الصور مؤقتًا لتسريع الطلبات المستقبلية.يقوم بإنشاء غلاف لطيف حول مكتبات GD وImageMagick.تستحق نظرة!

سيكون من الأفضل تخزين الصور المصغرة مؤقتًا.إن توليدها بسرعة سيكون مرهقًا جدًا للنظام.

يعتمد ذلك على نمط استخدام الموقع، ولكن، بشكل أساسي، كم مرة تتوقع أن يتم عرض كل صورة؟

في حالة الصور المصغرة، من المرجح أن تظل موجودة لفترة طويلة (يتم تحميل الصورة مرة واحدة ولا تتغير أبدًا، وبالتالي لا تتغير الصورة المصغرة أيضًا)، لذلك من المفيد بشكل عام أن يتم إنشاؤها عند تحميل الصورة الكاملة وتخزينها لوقت لاحق.ما لم يكن الموقع ميتًا تمامًا، فستتم مشاهدته عدة (مئات أو آلاف) المرات على مدار عمره، كما أن القرص أرخص كثيرًا من زمن الوصول هذه الأيام.ويصبح هذا أيضًا أكثر أهمية مع زيادة الحمل على الخادم بالطبع.

على العكس من ذلك، بالنسبة لشيء مثل مخططات الأسهم التي يتم تحديثها كل ساعة (إن لم يكن بشكل متكرر)، سيكون هذا موقفًا من الأفضل أن تقوم بإنشائها بسرعة، وذلك لتجنب إضاعة وقت وحدة المعالجة المركزية في إنشاء صور باستمرار والتي لا سوف يرى المستخدم من أي وقت مضى.

أو، إذا كنت ترغب في الحصول على مظهر فاخر، يمكنك تحسين التعامل مع أي من نمطي الوصول عن طريق إنشاء الصور بسرعة عند الحاجة إليها لأول مرة ثم إظهار الصورة التي تم إنشاؤها مسبقًا بعد ذلك، حتى البيانات التي تم إنشاؤها من التغييرات، وعند هذه النقطة تقوم بحذفه بحيث يتم إعادة إنشائه في المرة التالية التي تحتاج إليها.ولكن هذا سيكون مبالغة بالنسبة لشيء ثابت مثل الصور المصغرة، IMO.

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