آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

بهترین راه ذخیره سازی تصاویر؟ پایگاه داده؟

مهدی  9 سال پیش  9 سال پیش
0 0

سلام

در ویدئو های آموزشی تصاویر به صورت کاملا ساده در یک فایل ذخیره می شد و در هنگام فراخوانی نیز با توجه به ایدی محصول، تصویر با همون ایدی فراخوانی میشد.

 

خوب به نظر من این کار چندان منعطف نیست و می تونیم کارهای بهتری رو کنیم. حالا می خواستم از تجربه دوستانی که اینجا هستند استفاده کنم. 

 

تا به اونجا که می دونم ذخیره مستقیم تصاویر در پایگاه داده کار، غیر حرفه ای هست اما میشه اطلاعات مربوط به تصویر رو در پایگاه داده(نام تصویر،فرمت و ...) را در پایگاه داده ذخیره کرد و موقع فراخوانی تصویر محصول بر اساس اطلاعات درج شده در پایگاه داده اون رو فراخوانی کرد.

 

اما من هیچ شناختی ندارم که اینکار به چه صورت، صورت می گیره...

 

آیا کسی تجربه اینکار رو داره؟

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
سجاد عباسی  9 سال پیش
+3 0

شما میتوانید به همان روش اموزش ها عمل کنید و بجای اسم از یک هش مثلا ۴۰ کاراکتری استفاده کنیدو اون رو در سرور اپلود کنید و لینک عکس رو در دیتابیس ذخیره کنید و سپس به راحتی با لینک میشه عکس رو نمایش داد.

$imageThumb = getcwd() . '/image/photos/thumb/' . generateHash(40) . '.' . $ext;
resizeImage($file, 200, 0, $imageThumb);
$imageThumb = str_replace(getcwd(), fullBaseUrl(), $imageThumb);

حالا میتونید متغیر $imageThumb رو در دیتابیس ذخیره کنید و ازش استفاده کنید.

0 0
ممنونم جناب عباسی عزیز . خوب راستش من چند روزی به این روش کار کردم و برای تک تصویر بهترین حالت هست. اما قصد من پویا تر کردن این مورد هست. شما فرض کنید من می خوام این امکان رو بدم که کاربر برای هر محصول N تصویر بارگذاری کنه .... و موقع نمایش محصول یک تصویر رو به صورت بزگر نمایش بدم و مابقی تصاویر رو کوچیکتر نمایش بدم(و با کلیک بر روی تصویر کوچک، اون تصویر بزرگ بشه) . تو این حالت به نظر شما چه میشه کرد؟ اگر تعداد تصویر مشخص بود، میشد بگیم داخل دیتابیس به همون مقدار فیلد اضافه می کنید و اسم تصاویر رو اونجا درج می کنیم.... اما اینجا ممکن هست یک محصول تنها یک تصویر داشته باشه و یک محصول 10 تا و یک محصول 20 تا و ... (9 سال پیش)
0 0
خب شما یک تیبل جدا برای عکس ها بذارید. با سه تا فیلد . فیلد اول که همون آی دی اتواینکریمنت هست. فیلد دوم آی دی پست هست. فیلد سوم هم اسم عکس هست که یه هش قرار بدید. اینجوری برای هر پست میتونید بی نهایت عکس بذارید (9 سال پیش)
0 0
آره این هم روشی خوبی هست که به ذهنم خودم نرسیده بود . ولی اگر بشه، دوست دارم از ایجاد یک جدول جدید پرهیز کنم.... هر چقدر تعداد جداول کمتر باشه بهتر هست و کوئری کمتری سمت سرور خرده میشه ... (9 سال پیش)
0 0
اضافه کردن فیلد هدی زیادی هم به جدول زیاد جالب نیست. به نظر من داینامیک ترین راهش همینه (9 سال پیش)
0 0
منم راه اقای کریمی رو میخاستم پیشنهاد بدم. اما راه دیگه که زیاد توصیه نمیکنم میشه همه تصاویر رو تو یه فیلد ذخیره کرد و با | جدا کرد و بعدexplode کنید. (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .