PDA

View Full Version : آموزش: حداکثر تعداد مجاز تصاویر در یک فولدر



mr.wolf
پنج شنبه 29 اردیبهشت 1390, 22:59 عصر
باسلام

من یک اسکریپت آپلود تصویر نوشتم که همه ی تصاویر رو توی فولدر آپلود ذخیره میکنه.

با توجه به اینکه تعداد تصاویر توی فولدر زیاد میشه ، آیا این موضوع مشکلی رو به وجود نمیاره؟

ahmad.khaliq
پنج شنبه 29 اردیبهشت 1390, 23:46 عصر
از نظر php که فرقی نداره.
اما ممکنه بعد از مدتی فضای هاست شما پر بشه.

mr.wolf
جمعه 30 اردیبهشت 1390, 16:17 عصر
شاید نتونستم خوب منظورم رو برسونم
ببینین:
چون تمام تصاویر فقط در یک فولدر آپلود میشن، بعد یه مدت مثلا 50000 تا تصویر توی اون فولدره ذخیره شده.
حالا این موضوع (تعداد زیاد تصاویر در یک فولدر) مشکلی رو ایجاد نمیکنه ؟ مثلا اینکه زمان بیشتری طول بکشه تا تصاویر در سایت لود بشن یا اینکه روی سرور بار اضافی بیاد یا اینکه برای سرچ تصاویر گوگل مشکلی ایجاد بشه یا...

eshpilen
شنبه 31 اردیبهشت 1390, 09:27 صبح
تعداد زیاد فایلها بالاخره به یه حدی که برسه مشکل ایجاد میکنه. ولی اینکه مقدارش چقدر هست رو نمیدونم.
اما میدونم برای رفع این مشکل میان و فایلها رو در چند دایرکتوری توزیع میکنن. یعنی مثلا تعداد فایلهای هر دایرکتوری که به یک میزان مشخصی میرسه دیگه در اون دایرکتوری فایل بیشتری ذخیره نمیشه و فایلهای بعدی در دایرکتوری دیگری ذخیره میشن. یا اینکه فرض کنید فایلها رو بصورت متعادل/نوبتی یا رندوم ممکنه در یکسری دایرکتوری مشخص توزیع کنن. اینها حالتهای ممکنی هست که برای الگوریتمش بنظرم میرسه. و ضمنا اینکه ساختار و تعداد این دایرکتوریها چطوری باشه دقیقا نمیدونم، اما فکر میکنم همه میتونن در یک دایرکتوری مشترک باشن.

AMIBCT
شنبه 31 اردیبهشت 1390, 10:00 صبح
از نظر تئوري محدوديتي براي تعداد فايل‌ها وجود نداره

ولي در عمل با بالا رفتن تعداد فايل‌ها دو تا مشكل ايجاد مي‌شه

مشكل اول مربوط مي‌شه به پايگاه داده‌ي FAT كه بايد اسم فايل‌ها رو نگهداري كنه
بسته به سيستم‌عاملي كه روي سرور شما نصب هست، نوع و نسخه‌ي فايل سيستم مورد استفاده و تعداد فايل‌ها و شاخه‌هايي كه قبلا روي درايو موجود هستن، سرعت دسترسي به فايل‌ها كاهش پيدا مي‌كنه و ممكنه مشكل‌ها پيش‌بيني نشده‌اي رخ بده

مشكل دوم بعد نرم‌افزاري اون هست
در بيشتر برنامه‌ها و از اون جمله اسكريپت‌هايي كه شما با php توسعه مي‌ديد، اين تصور وجود داره كه تعداد فايل‌ها از يه مقدار مشخصي بيشتر نيست و پيش‌بيني‌هاي لازم براي دسترسي و نگهداري بيشتر از اون تعداد فايل انجام نمي‌شه. براي مثال در مرورگر فايل ويندوز وقتي تعداد فايل‌هاي يك شاخه به حدود ۲۰ هزار مي‌رسه عملا ديگه نمي‌شه توي شاخه به آساني كار كرد و با هر تغيير جزئي پنجره مدت زيادي قفل ميشه

راه حل‌هاي مختلفي وجود داره كه مي‌تونن از رخداد اين مشكل‌ها جلوگيري كنن

همون طور كه دوستان گفتن راه حل ابتدايي، نگهداري فايل‌ها در چندين شاخه هست
اگه تعداد فايل‌ها باز هم بيشتر باشه، بهتره از پايگاه داده كه در نگهداري تعداد زيادي رديف خيلي بهتر از فايل‌سيستم بهينه شده، استفاده كنيد
البته استفاده از پايگاه داده هم مشكل‌هاي خاص خودش رو داره و بايد تنظيم‌ها و بسترهاي مورد نيازش رو فراهم كنيد

رضا قربانی
شنبه 31 اردیبهشت 1390, 23:25 عصر
این رو در نظر داشته باشید اسکریپتی که می نویسید ، آدرس عکس ها رو فراخوانی می کنه و سریع میره روی همون رکورد . پس هر چقدر عکس داخل فولدر بذارید روی سرعت لود سایت تاثیری نمی ذاره بلکه فضای هاست شما اشغال می شه . زمانی سرعت شما میاد پایین که اونا رو نمایش بدید .

eshpilen
یک شنبه 01 خرداد 1390, 08:14 صبح
به شرطی که تنها کاری که انجام میشه همین باشه. ولی معمولا در بیشتر نرم افزارها کارهای دیگری هم انجام میشه یا در آینده مثلا با گسترش برنامه نیاز خواهند شد که نیاز به جستجو و اعمال دیگری دارن.
ضمنا همینکه شما میگید توسط سیستم عامل و سیستم فایل ممکنه عملیاتی داشته باشه که تعداد فایلها در اون موثر باشه. اصلا شاید سیستم هم یه نوع جستجو انجام میده. بهرحال دایرکتوری فقط یک فهرست از فایلها هست که سیستم عامل برای پیدا کردن هر فایل باید اول Entry موردنظر رو در اون فهرست پیدا کنه.