کدام روش تغیر اندازه ی تصاویر مناسبتر است ؟؟

karevan

Member
سلام مجدد
منم میدونم که با rewrite mod میشه آدرس ها رو تغییر داد ولی اگه اینا رو سرور ذخیره کرده باشن مرض ندارن که آدرس رو اینجوری کنن که!
اصولا هر چیزی که شما شما تو صفحه لود میکنید از پهنای باند مصرف میشه

موفق باشید

البته بدون mode rewrite هم میشه اینکار رو کرد.
با اینجور آدرس دادن میشه دسترسی مستقیم کاربر به فایل رو محدود کرد و خیلی چیزا مثل آمار نمایش و ... رو هم ثبت کرد.
پس نیازی نیست که حتما مرض داشته باشی !!! :wink:

بله هر چیزی که توی صفحه لود بشه از پهنای باند مصرف میکنه ولی با قرار دادن تصاویر توی بانک اطلاعاتی هم پهنای باند مصرف میشه و هم پروسس CPU در صورتی که در روشهای دیگه این پروسس CPU خیلی کمتره.

من میگم 100% ذخیره ی تصاویر در بانک اطلاعاتی بهتر از اینه که خود فایل رو بزاریم روی سرور . دلایل :

کنترل دقیق بر تصاویر
استفاده به هر نحوی که دوست داشتیم از تصاویر
حذف و ویرایش آسان
از همه مهمتر محدود سازی از لحاظ پهنای باند مصرفی

در مورد tinypic هم با شاه کلید عزیز موافقم . در دیتابیس ذخیره میکنه .

در مورد پهنای باند هم بگم که هرچیزی که به مرورگر کاربر ارسال بشه یعنی پهنای باند . حال این میتونه یک فایل mp3 باشه یا یک عکس که در دیتابیس ذخیره شده . مهم اینه که جهت نمایش به کاربر ارسال میشه به طرف اون .

دلیل شما برای اینکه میگید tinypic توی دیتابیس ذخیره میکنه چیه؟
از منبع خاصی این حرف رو میگید یا اینکه فقط حدس میزنید؟

ضمنا همه دلایلی که آوردید برای سایر روشها هم هکمفرماست و تفاوتی با دیتابیس وجود نداره.

نيازي به rewrite_mod نيست.
همچنين نيازي به داشتن مرض هم نيست. بلكه اينجور آدرسي دهي، حداقل سياست براي جلوگيري از دسترسي مستقيم به تصاوير هست.

کاملا درسته
 
آخرین ویرایش:

karevan

Member
نه!

پس چرا لینک مستقیم رو هم میده؟!
در اصل این لینک اصلی تولید تصاویر هست که تصاویر رو از دیتابیس میخونه و اون لینکهایی که به صورت .gif یا... هست با htaccess درست شده

چرا باید تصاویر رو از دیتا بیس بخونه؟
میتونه اونا رو از یه پوشه ی دیگه توی خود هاست بخونه و با htaccess آدرس رو عوض کنه که دسترسی مستقیم به فایل نباشه و خیلی از کار های دیگه رو هم بتونه باهاش انجام بده.

چه نیازی به دیتابیس هست؟
 

I.NoBody

Active Member
چرا باید تصاویر رو از دیتا بیس بخونه؟
میتونه اونا رو از یه پوشه ی دیگه توی خود هاست بخونه و با htaccess آدرس رو عوض کنه که دسترسی مستقیم به فایل نباشه و خیلی از کار های دیگه رو هم بتونه باهاش انجام بده.

چه نیازی به دیتابیس هست؟
تایید میشه.
من نگفتم اون از htaccess استفاده نکرده. منظورم این بود که برای اجرای اون هدفی که ما داریم بحثشو میکنیم، میتونه از htaccess هم استفاده نشه.
ببخشید اگه جمله بندی ام بد بود
 

ziXet

مدیر انجمن PHP/MYSQL
چرا باید تصاویر رو از دیتا بیس بخونه؟
میتونه اونا رو از یه پوشه ی دیگه توی خود هاست بخونه و با htaccess آدرس رو عوض کنه که دسترسی مستقیم به فایل نباشه و خیلی از کار های دیگه رو هم بتونه باهاش انجام بده.

چه نیازی به دیتابیس هست؟

mituni email beheshun bezani bebini az che raveshi estefade mikonan!
vb baraye attach az db estefade mikone!
khob mage nemitunest az db estefade nakone?
 

karevan

Member
بلاخره کسی پیدا نشد که از نظر فنی روشهای آپلود فایل رو بررسی کنه؟!!
 

zoghal

Active Member
من هم شخصا با اینکه تصاویر در دیتابیس ذخیره شوند مخالفم
دوستان دلایل خوبی آوردن اما یکی از مشکلات که ممکن هست در روش ذخیره در دیتابیش باهاش مشکل برخورد بشه چه در سایت ها کوچک چه بزرگ مشکل بکاپ و ریستوری دیتابیس هست.

البته سایت های بزرگ به صورت لوکال رو سرور کار میکنند. پس نباید قصه پهنای باند رو بخورند.
 

I.NoBody

Active Member
مساله پهنای باند در هنگام نمایش به کاربر مطرح هست. و همونقدر پهنای باند میگیره که نمایش یک فایل
 

parsiteam

Member
دلیلی که به نظر من میتونه از ذخیره ی تصاویر در تعداد زیاد به صورت فایل جلوگیری کنه فقط حجم ترافیک سروره . یعنی چی ؟

بعنی اینکه وقتی مثلا 999999999999999 میلیون فایل اونم تصویر روی یک سرور قرار میگیره پردازش این فایلها و همچنین سرعت سرور خیلی پایین میاد . من خودم اینو به شخصه تجربه کردم . حتی وقتی روی سیستم خانگی هم مثلا 500 تا فایل عکس میزاری توی پوشه وقتی میخوای بازش کنی پردازش سیستم میاد پایین . البته این نظر شخصیه ی منه . بازم اساتید بزرگتر از من هم هستن که نمیدونم چرا توی این بحث شرکت نکردند.
 

parsiteam

Member
یک چیز دیگه هم که یادم رفت بگم اینه که سرعت کار با بانک های اطلاعاتی خیلی بیشتر از سرعت کار با فایل هاست .
 

karevan

Member
دلیلی که به نظر من میتونه از ذخیره ی تصاویر در تعداد زیاد به صورت فایل جلوگیری کنه فقط حجم ترافیک سروره . یعنی چی ؟

بعنی اینکه وقتی مثلا 999999999999999 میلیون فایل اونم تصویر روی یک سرور قرار میگیره پردازش این فایلها و همچنین سرعت سرور خیلی پایین میاد . من خودم اینو به شخصه تجربه کردم . حتی وقتی روی سیستم خانگی هم مثلا 500 تا فایل عکس میزاری توی پوشه وقتی میخوای بازش کنی پردازش سیستم میاد پایین . البته این نظر شخصیه ی منه . بازم اساتید بزرگتر از من هم هستن که نمیدونم چرا توی این بحث شرکت نکردند.

گمون میکنم این مشکل برای ویندوز باشه و توی لینوکس چنین مشکلی وجود نداشته باشه.

متاسفانه نمیدونم چرا دوستانی که تجربه ی خیلی بیشتری دارند توی بحث شرکت نمیکنند، فکر میکنم این بحث ارزشش رو داشته باشه .

یک چیز دیگه هم که یادم رفت بگم اینه که سرعت کار با بانک های اطلاعاتی خیلی بیشتر از سرعت کار با فایل هاست .

وقتی که با بانک اطلاعاتی کار میکنیم از دو جهت فشار روی CPU هست :
- برای اجرای Query و خوندن اطلاعات از بانک اطلاعاتی.
- برای ترجمه و ارسال تصویر بر روی مرورکر کاربر

البته باز هم نیاز به نظر اساتیدی هست که نسبت به این بحث کم لطفن!!
 

I.NoBody

Active Member
دلیلی که به نظر من میتونه از ذخیره ی تصاویر در تعداد زیاد به صورت فایل جلوگیری کنه فقط حجم ترافیک سروره . یعنی چی ؟

بعنی اینکه وقتی مثلا 999999999999999 میلیون فایل اونم تصویر روی یک سرور قرار میگیره پردازش این فایلها و همچنین سرعت سرور خیلی پایین میاد . من خودم اینو به شخصه تجربه کردم . حتی وقتی روی سیستم خانگی هم مثلا 500 تا فایل عکس میزاری توی پوشه وقتی میخوای بازش کنی پردازش سیستم میاد پایین . البته این نظر شخصیه ی منه . بازم اساتید بزرگتر از من هم هستن که نمیدونم چرا توی این بحث شرکت نکردند.
اون افت سرعتی که شما میگی، توی ویندوز و در حالت thumnails هست.
شما میتونی به حالت list مشاهده کنی و سرهت رو ببینی.
البته منکر اینکه با ازدیاد فایل ها، کمی سرعت میاد پایین، نیستم ولی بهتر از ذخیره توی دیتابیس هست.
همده دلایل ضعف ذخیره توی DB رو هم دوستان به خوبی اشاره کردن.
 

parsiteam

Member
من که با دلایل ضعف ذخیره ی تصاویر در دیتابیس قانع نشدم . حداقل دلایلی بیارید که خوب بودن ذخیره به صورت فایل رو ثابت کنه .
 

zoghal

Active Member
ببینید. هر کودم از روش ها خوبی ها و بدی های خودشون رو داره اما باید بهترین و کارامدترین روش رو برگزنیم
روش آپلود در دیتابیس

1-فواید
1-1- متمرکز بودن اطلاعات
1-2- موردی فکر نمکنم باشه

2- معایب
2-1-پروسس بالا برای هر گونه عملیات در دیتابیس
2-2- نیاز به رم بسیار بالا جهت انجام کوئری ها
2-3- به طبع هرچه دیتابیس سنگین تر بشه کند تر خواهد شد.
2-4- مشکل در بکاپ گیری و ریستوری بکاپ ها، فرض کنید میلبون ها عکس در دیتابیس باشه و شما میخواهید بکاپ بگیرید. فکر میکنم در این حالت تیبل ها باید لوک شوند!!!
2-5- فکر می کنم یک نوع افزونگی داده هم ایجاد بشه نسبت به نگهداری روی هارد


روش آپلود بر روی هاست.

1-فواید

1-1 سرعت بالا پروسس کمتر،چون خود سیستم عامل زحمتش رو میکشه البته لینوکس رو در نظر داشته باشید به عنوان او اس
1-2 نیاز به حافظه رم خاصی نداره، میتونه معمولی یا در حد سرور معمولی باشه
1-3- بکاپ گیری بسیار ساده، میتونید هروقت خواستید بدون اینکه مزاحم کار سیستم بشید سریعا بکاپ بگیرید
1-4- از همه مهمتر دسترسی بسیار آسان، فقط کافیه پت رو داشته باشیم

2- معایب
2-1- میشه گفت مدیریت فایل توسط اسکریت ممکنه سخت باشه البته اگر الگوریتم درستی استفاده نکرده باشید.

------------------

یکی از دوستان در مورد وی بولتن صحبت کرده بود. که از دیتبایس استفاده میکنه ، خطاب به ایشان عرض کنم وبی در مرحله اول به دلیل متمرکز بودن داده ها از دیتابیش ها استفاده میکنه . اما اگر دقت کرده باشید. در تنظیمات نوشته اگر حجم فایل های آپلود شده زیاد می باشد. از روش نگهداری بر روی هارد استفاده کنید. و خودش اینکارو برای شما انجام میده
 

parsiteam

Member
تمام فوایدی که برای کار با فایل ها گفتید میشه برای دیتابیس هم گفت بجز سرعتش که مطمئن نیستم . یعنی این :

1-2 نیاز به حافظه رم خاصی نداره، میتونه معمولی یا در حد سرور معمولی باشه
1-3- بکاپ گیری بسیار ساده، میتونید هروقت خواستید بدون اینکه مزاحم کار سیستم بشید سریعا بکاپ بگیرید
1-4- از همه مهمتر دسترسی بسیار آسان، فقط کافیه پت رو داشته باشیم


و در مورد معایب ذخیره در دیتابیس این مورد زیر رو باهات شدیدا موافقم :

2-2- نیاز به رم بسیار بالا جهت انجام کوئری ها

و این موارد زیر رو هم شدیدا مخالفم :

2-3- به طبع هرچه دیتابیس سنگین تر بشه کند تر خواهد شد.
دلیل : دیتابیس یاهو با اون همه سنگینی مثل برق داره کار میکنه .

2-4- مشکل در بکاپ گیری و ریستوری بکاپ ها، فرض کنید میلبون ها عکس در دیتابیس باشه و شما میخواهید بکاپ بگیرید. فکر میکنم در این حالت تیبل ها باید لوک شوند!!!

دلیل : توسط Phpmyadmin تست شده. سه سوته همه کارا انجام میشن .
 

zoghal

Active Member
در مورد کار با دیتابیس هر کوئری که گرفته میشه کجا میره؟ تو رم دیگه خوب حالا فرض کنید عکس با کیفیت بالا و تعداد یوزر ها هم زیاد. اینجاست که رم زیاد میخواد


در مورد دیتابیس هم وقتی بزرگ میشه باید ایندکس درست کنی، خوب این چه راهی؟ میشه فایل ها رو روی هاست ریخت و فقط اسم و آدرس رو در دیتابیس قرار دادنه اینکه کل عکس رو درون دیتابیس

درضمن فکر نکنم گوگل و یاهو از مای اسکیوال استفاده کنند. مباحث این سایت ها جدا از این موضوع هست
 

I.NoBody

Active Member
به طبع هرچه دیتابیس سنگین تر بشه کند تر خواهد شد.
يكي از دلايل وجودي ديتابيس، مديريت و كار با حجم بالاي اطلاعات هست.
اين سنگيني بيشتر به سخت افزار مثل رم بر ميگرده.
درضمن فکر نکنم گوگل و یاهو از مای اسکیوال استفاده کنند. مباحث این سایت ها جدا از این موضوع هست
البته بحث ما سر استفاده از mySQL نيست. سر استفاده از ديتابيس هست.

به هر حال من فكر ميكنم اكثريت دوستاني كه در بحث شركت كردن، در نهايت بايد به اين نتيجه رسيده باشن كه ذخيره تصاوير توي ديتابيس براي تعداد و حجم بالاي عمليات روي اون تصاوير،مناسب نيست
 

parsiteam

Member
با اجازه اساتید من نتیجه خودمو بگم از این بحث :

به نظر من بهترین روش ذخیره تصویر به صورت فایل است که اسم فایل رو داخل دیتابیس هم ذخیره کنیم . اینجوری به فایل مورد نظرمون اشراف بیشتری داریم .

نظر شماها چیه ؟
 

I.NoBody

Active Member
با اجازه اساتید من نتیجه خودمو بگم از این بحث :

به نظر من بهترین روش ذخیره تصویر به صورت فایل است که اسم فایل رو داخل دیتابیس هم ذخیره کنیم . اینجوری به فایل مورد نظرمون اشراف بیشتری داریم .

نظر شماها چیه ؟
موافقم
 

karevan

Member
ممنون از دوستانی که توی بحث شرکت میکنند.
حالا یه سوال دیگه که شاید بی ربط و شاید هم مرتبط به بحث باشه !!!

توی ویندوز وقتی از یک فایل Properties میگیریم توی سر برگ Summary میتونیم یه سری توضیحات برای فایل ثبت کنیم.
آیا توی php میشه به این توضیحات دسترسی داشت؟
 

I.NoBody

Active Member
ممنون از دوستانی که توی بحث شرکت میکنند.
حالا یه سوال دیگه که شاید بی ربط و شاید هم مرتبط به بحث باشه !!!

توی ویندوز وقتی از یک فایل properties میگیریم توی سر برگ summary میتونیم یه سری توضیحات برای فایل ثبت کنیم.
آیا توی php میشه به این توضیحات دسترسی داشت؟
بله. البته فکر نکنم همه توضیحاتی رو که توی ویندوز میشه دید، بشه با php کنترل کرد.
اگر براتون مهمه، بهتره یه تاپیک جدید باز کنید.
 

جدیدترین ارسال ها

بالا