افزایش حداکثر حجم قابل آپلود (upload) برای فایل ها و اطمینان از قابل آپلود بودن فایل های بزرگ، در PHP

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

برای تغییر تنظیمات مورد نظرمان، باید در فولدری که در آن فایل های PHP (فایل های اصلی PHP ، نه کدهایی که ما در سایتمان قرار داده ایم) قرار داده شده است، فایل php.ini را باز کرده و برخی از مقادیر تعریف شده در آن را تغییر بدهیم. دقت کنید که معمولا سرورها، دسترسی به فایل های اصلی PHP را به شما نمی دهند، در این صورت، می توانید به صاحب سرور، درخواست تغییرات را بدهید (البته معمولا خود صاحبان سرورها، بهترین تنظیمات را انتخاب می کنند).

پس از باز کردن فایل php.ini ، مقادیر مهم و تاثیرگذار در آپلود فایل ها، عبارتند از :

بعد از تغییر مقادیر این پارامترها، باید سرور restart شود تا شاهد اجرای تغییرات باشیم (یا اگر از نرم افزار شبیه ساز سرور مثل wampserver استفاده کردید، باید آن را بسته و دوباره اجرا کنید).

من مقادیری دلخواه را در کدهای بالا، برای آنها نوشته ام. دقت کنید که هر یک از این پارامترها را باید در فایل پیدا کرده و سپس بر اساس نیاز خود، یک مقدار را به آنها اختصاص بدهید. مثلا من پارامتر upload_max_filesize را برابر 10 مگابایت قرار داده ام که برای آپلود فایل های دارای حداکثر حجم 10 مگابایت، مناسب می باشد. پارامتر memory_limit بهتر است که از upload_max_filesize بزرگتر باشد، من آن را دو برابر upload_max_filesize انتخاب کرده ام. پارامتر max_execution_time برابر حداکثر زمان اجرای کدهای PHP است که من آن را برابر 300 ثانیه، یعنی 5 دقیقه، انتخاب کرده ام، اگر حدس می زنید که زمان آپلود یک فایل بزرگ، بیشتر است، بنابراین باید این زمان را هم به همان نسبت، افزایش بدهید.

اعمال تنظیمات برای آپلود فایل های بزرگ، در نرم افزار wampserver نصب شده بر روی کامپیوتر خانگی :

اگر نرم افزار wampserver را در کامپیوتر خانگی خود نصب کرده اید و در حال تست آن می باشید، باید فایل php.ini صحیح را به شما نشان بدهم زیرا ممکن است که به اشتباه، یک فایل دیگر را ویرایش کنید. ابتدا به فولدر محل نصب نرم افزار wampserver بروید و سپس مسیر زیر را دنبال کنید :

که البته احتمالا شماره Apache متفاوت است، که اهمیتی ندارد. بنابراین فایل php.ini را در آن مسیر بیابید و سپس تغییراتی که گفته شده را به آن اعمال نمایید. باز هم تذکر می دهم که به مسیر فایل php.ini دقت کنید، زیرا فایل دیگری با همین نام در فولدری دیگر وجود دارد و ممکن است که آن را به جای این فایل، به اشتباه ویرایش کنید.

چک کردن حداکثر حجم قابل آپلود فایل ها :

اگر در هاست خود و یا در کامپیوتر خانگی خود (با نرم افزار wampserver)، به myPhpAdmin دسترسی دارید، وارد آن بشوید و سپس گزینه Import را انتخاب کنید. آنگاه در کنار گزینه مربوط به آپلود فایل پشتیبان (backup)، حداکثر حجم برای آپلود فایل ها توسط PHP ، نوشته شده است :

افزایش حداکثر حجم قابل آپلود (upload) برای فایل ها و اطمینان از قابل آپلود بودن فایل های بزرگ، در PHP

مشاهده می کنید که حداکثر حجم برای آپلود فایل، برابر 20 مگابایت نوشته شده است. خوبی این نوع چک کردن این است که نیازی به کدنویسی نداریم و این روش نیز همیشه در حافظه ما باقی می ماند (به جای کدنویسی).

نویسنده علیرضا گلمکانی
شماره کلید 473
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 2 2 0
علی
۱۳۹۷/۰۶/۲۷
۱۹:۴۹

دورد به شرفتون که مردم رو بدون هیچ چشم داشتی راهنمایی می کنید

امین ولی پور
۱۳۹۸/۰۲/۲۴
۱۶:۰۹

با سلام و درود. با تشکر از راهنمایی تون. فقط یه سوال دارم. من این مشکل روی نرم افزار XAMPP  دارم. راهنمایی کنید چگونه این مشکل در XAMPP حل کنم؟

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)