PDA

View Full Version : حد اکثر اندازه فایل آپلود برای سایتم رو چقدر بزارم



kavoshgar63
شنبه 02 خرداد 1388, 16:23 عصر
سلام
من یه سایت دارم که در مورد آموزش مجازی فعالیت می کنه
می خوام در قسمت بارگذاری فایل دروس یه شروطی رو بزارم که هر فایلی با هر حجمی وارد سایت نشه.
من توی فرمم از این دستور برای محدودیت حجم فایل ارسالی استفاده کردم

<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
به نظر شما توی یک آموزشگاه مجازی حداکثر اندازه فایلی که استاد می خواد آپلود کنه آیا بیش از 10 مگابایته یا نه؟
من چون در زمینه آپلود فایل تازه دارم وارد عمل میشم نمی دونم که چطور شرایطی رو برای ارسال فایل بزارم که امنیت سایت به خطر نیفته
از دوستان کسی می تونه راهنماییم کنه؟

امیـرحسین
شنبه 02 خرداد 1388, 18:57 عصر
سلام
فایلهای PDF می تونه بیشتر هم باشه. بستگی به اهمیت کار داره که چقدر میخواید دست کاربر رو باز بذارید. یه موقع میگید "محتوا خیلی اهمیت داره و مهم نیست که چقدر حجمش باشه" و یه موقع هم میگید "حالا خبری نیست همه رو تو 10 مگ جمع و جور کنید بره".
به نظر من بهترین روش اینه که محدودیت حجم رو برای کاربران متفاوت تعیین کنید. مثلا استاد حجم بیشتری می تونه آپلود کنه و بقیه کمتر به اضافه اینکه یک بخشی برای رسیدگی به فایلها که مثلا آیا فایلی خیلی سنگین هست یا اشتباه آپلود شده و ....

در ضمن مقداری که شما اینجا مشخص کردید، 10 مگابایت کمتره. مقدار باید واقعی تعیین بشه یعنی مثلا یک مگابایت رو باید 1024 کیلوبایت حساب کنید نه 1000کیلوبایت.

اعظم
یک شنبه 03 خرداد 1388, 12:16 عصر
معمولا تنظیمات خود سرور برای حداکثر 2 مگا بایت برای آپلود تنظیم می شود . برای تغییر این تنظیم هم تا جایی که من سرچ کردم باید در php.ini تغییراتی داد . ایا شما راه حلی برای این مسئله دارید ؟

امیـرحسین
یک شنبه 03 خرداد 1388, 15:47 عصر
معمولا تنظیمات خود سرور برای حداکثر 2 مگا بایت برای آپلود تنظیم می شود . برای تغییر این تنظیم هم تا جایی که من سرچ کردم باید در php.ini تغییراتی داد . ایا شما راه حلی برای این مسئله دارید ؟
توی How to sneak past the php upload limits (http://www.raditha.com/megaupload/upload.php) یه ترفندی معرفی کرده واسه حل این مشکل، اونجا اینجوری گفته:
پیش فرض آپلود برای PHP چهار مگابایت هست ولی برای PERL سی و دو مگابایت! حالا روی سروری که PERL رو پشتیبانی می کنه، میشه همه کار رو با PHP انجام داد و فقط عملیات آپلود رو تحت اسکریپت PERL انجام داد!
جالب بود نه؟ من هنوز تستش نکردم....

Yousha
دوشنبه 04 خرداد 1388, 18:35 عصر
سلام،


کلا باید همون ini رو ادیت کنید و اینکه سرور ها و بخش پشتیبانی این کار رو برات نمی کنند و باید dedicate server داشته باشید که خودت ادمینش باشی.

خیر عزیز، اشتباه می کنید. بصورت Runtime هم میشه حداکثری برای حجم Upload فایل و حجم داده Post شده تعیین کرد.
برای اینکار دو راه وجود داره: HTAccess و ini_set.


LimitRequestBody 2048

<IfModule mod_php4.c>
php_value include_path "./upload"
php_value upload_max_filesize 1MB
php_value post_max_size 2M
</IfModule>

<IfModule mod_php5.c>
php_value include_path "./upload"
php_value upload_max_filesize 1MB
php_value post_max_size 2M
</IfModule>

<IfModule mod_php6.c>
php_value include_path "./upload"
php_value upload_max_filesize 1MB
php_value post_max_size 2M
</IfModule>




<?php
ini_set('upload_tmp_dir', './upload');
ini_set('upload_max_filesize', '1MB');
# !
ini_set('post_max_size', '2MB');
?>

اینها رو هم نسبت به نیاز و مشخصات هاست(فضا و پهنای باند) تعیین میکنن.

mojtaba00
سه شنبه 05 خرداد 1388, 13:02 عصر
به نظر من بهتره از همون htaccess استفاده بشه. ضمنا برای حداکثر حجم آپلود همون 10 مگ بسه. معمولا پست های سایت های آموزشی به این حد هم نمی رسه. مگر اینکه بخوان یه فیلم با کیفیت آپلود کنن.

Yousha
سه شنبه 05 خرداد 1388, 13:26 عصر
خیر عزیز، اشتباه می کنید. بصورت Runtime هم میشه حداکثری برای حجم Upload فایل و حجم داده Post شده تعیین کرد.
برای اینکار دو راه وجود داره: HTAccess و ini_set.


ارزش نداره و البته به نظر من همون ادیت php.ini بهتره


؟!
دلیل دارید یا برای مخالف گفتید؟

amirhosein
جمعه 08 خرداد 1388, 20:30 عصر
اگه بتونيد كاراتون رو يه جوري تنظيم كنيد كه حداكثر همون 2MB باشه (پيشفرض براي تنظيمات php.ini) خيلي دردسرتون كم ميشه اما اگه لازم باشه كه بيشتر از اين مقدار رو هم اجاز بدين اون وقت دو تا راه دارين:
- راه اول كه دردسرش كمه اما امنيتش پايين اينه كه براي فايلهاي بيشتر از اين مقدار از كاربران بخواين كه فايلشون رو به يكي مثل منشي شركت! تحويل بدن و اونم با ftp فايل رو بريزه توي مسير موردنظر. البته يكي رو پيدا كنيد كه آي كيوش انقدري باشه كه نزنه همه چي رو روي هاست پاك كنه!
- راه دوم توسل به دستكاري php.ini با استفاده از دستور ini_set و يا استفاده از همون htaccess كه دوستان بصورت كامل فرمودن اما اين راه مشكلش اينه كه روي هاستهاي مختلف جوابهاي متفاوت داره يعني يه هاست كار ميكنه يه هاست كار نمي كنه. يكي مياد بخاطر مسايل امنيتي هاست اجازه نفس كشيدن رو از برنامه نويس ميگيره و يكي مياد سوراخ امنيتي روي هاست باز ميذاره كه شتر هم ازش رد ميشه!

armsoftpc
جمعه 08 مهر 1390, 20:24 عصر
به نام خدا
با سلام

<IfModule mod_php6.c>قضیه این دیگه چیه! ما که php 6 نداریم و آخرین نسخه اعلام شده توسط php.net نسخه 5.4 بوده است!:متعجب:
در ضمن این کد ها رو امتحان کردم ، جواب نداد اصلا محدودیتی بر روی آپلود نمی زاره و هیچ خطایی تولید نمی کنه یا حداقل من بلد نیستم.اگه میشه کدش رو به صورت کامل بزارید منظورم تابع ini_set() است.:خجالت:

رضا قربانی
جمعه 08 مهر 1390, 21:13 عصر
یک فایل php.ini در پوشه ای که عملیات آپلود رو انجام می دی ایجاد کن و این کد رو توش بذار
upload_max_filesize = 10M
به همین راحتی .

binyaft
جمعه 08 مهر 1390, 22:53 عصر
تاپیک رو نبش قبر کردید
یه الحمد هم بخونید به روحش بره