در این بخش از فروشگاه برنا اندیشان تصمیم داریم تا یکی از برترین آموزش های بسیار کاربردی نرم افزاری با عنوان دانلود فیلم آموزش آپلود فایل به صورت امن در پی اچ پی (PHP) به صورت یک مجموعه دانلودی در اختیار شما کاربران محترم وب سایت برنا اندیشان و تمامی علاقه مندان به یادگیری طراحی وب سایت و برنامه نویسی قرار دهیم.
دانلود فیلم آموزش آپلود فایل به صورت امن در پی اچ پی (PHP)
در فیلم آموزش آپلود فایل به صورت امن در پی اچ پی به صورت کامل با تمامی دستورات مربوط به اجرای آپلود فایل در زبان برنامه نویسی PHP به صورت امن آشنا خواهید شد.
آپلود فایل
امروزه آپلود فایل یکی از امکانات اصلی وبسایتها به حساب می آید. گالری تصاویر، فایل ایمیل شده، ویدئوی آنلاین و … همه به خاطر وجود امکان آپلود فایل از طریق مرورگر کاربرها است که تا این حد گسترش پیدا کرده است.
می توان به کمک یک اسکریپت PHP و فرم HTML به کاربر امکان داد، فایل های مورد نیاز را در server بارگذاری کند. در ابتدای امر فایل ها در پوشه (directory) موقتی ذخیره گردیده، سپس توسط اسکریپت PHP به مقصد نهایی انتقال داده می شوند.
برای آپلود کردن فایل در php به صورت خلاصه و راحت می توان ابتدا کد html زیر را کپی نموده و سپس اسکریپت php که در پایین صفحه آمده را در فایلی جدید قرار می دهیم و تمام!
اطلاعات فایل phpinfo.php توضیح می دهد که دایرکتوری موقتی که برای آپلود فایل بکار می رود کدام است مانند upload_tmp_dir، همچنین حداکثر حجم فایلی که می تواند با استفاده از php بار گذاری شود در فایل تنظیمات php.ini مشخص می شود. پارامترهای یاد شده در فایل پیکربندی php.in قرار می گیرند.
فرایند بارگذاری فایل در سرور به شرح زیر می باشد:
- کاربر صفحه ی HTML مورد نظر که شامل یک فایل متنی (text file)، دکمه ی browse و submit می باشد، را باز می کند.
- کاربر روی دکمه ی browse کلیک کرده و فایل انتخابی برای ارسال از رایانه ی محلی را انتخاب می کند.
- مسیر کامل فایل انتخابی در text field نمایان شده و پس از آن کاربر روی دکمه ی submit کلیک می کند.
- فایل انتخابی در پوشه ی موقتی بر روی server ارسال شده و سپس بارگذاری می شود.
- اسکریپت PHP به عنوان form handler (اجرا کننده ی فرم) در خصیصه action فرم تعریف شده بررسی می کند که آیا فایل های ارسالی
- دریافت شده اند یا خیر، سپس آن ها را در پوشه ی موردنظر جای گذاری می کند.
- اسکریپت PHP موفقیت عملیات را به کاربر اعلام می کند.
به طور معمول لازم است به هنگام نوشتن فایل، سطح دسترسی به هر دو مکان قرار گیری موقت و نهایی فایل ها، روی file writing، تنظیم شده باشد.
اگر حتی تنها یکی از آن ها مجوز یا سطح دسترسی read-only داشته باشند، کل فرایند با شکست مواجه می شود. فایل آپلود شده می تواند یک فایل متنی، تصویری و یا هر فایل دیگری باشد.
پیشنهاد ویژه:فیلم آموزش کامل برنامه نویسی سوئیفت
تنظیمات کلیدی
در ادامه برخی تنظیمات کلیدی که برای آپلود فایل در PHP ضروری هستند را با هم بررسی میکنیم.
file_uploads
مقدار دایرکتیو file_uploads باید برابر با on تنظیم شود تا امکان آپلود فایل وجود داشته باشد. مقدار پیشفرض این دایرکتیو on است.
upload_max_filesize
دایرکتیو upload_max_filesize امکان پیکربندی اندازه بیشینه فایلی که آپلود خواهد شد را تعیین میکند. به طور پیشفرض این مقدار برابر با 2M (دو مگابایت) تعیین شده است و میتوانید آن تنظیمات را در فایل htaccess. نیز تغییر دهید. دو مگابایت با استانداردهای امروزی عدد بزرگی محسوب نمیشود و ممکن است بخواهید این مقدار را افزایش دهید. اگر در زمان آپلود کردن فایل با خطای file exceeds upload_max_filesize مواجه شدید، باید این مقدار را افزایش دهید. اگر قصد چنین کاری را دارید، دقت کنید که باید مقدار post_max_size را نیز افزایش دهید. در ادامه در این مورد نیز توضیح دادهایم.
upload_tmp_dir
این دایرکتیو یک پوشه موقت تعیین میکند که برای ذخیرهسازی فایلهای آپلود شونده استفاده خواهد شد. در اغلب موارد لازم نیست در مورد این تنظیمات دغدغهای داشته باشید. اگر آن را تنظیم نکنید، دایرکتوری پیشفرض temp سیستم استفاده خواهد شد.
post_max_size
دایرکتیو post_max_size امکان پیکربندی اندازه بیشینه دادههای POST را فراهم میسازد. از آنجا که فایلها با درخواستهای POST آپلود میشوند، این مقدار باید بزرگتر از مقداری باشد که برای دایرکتیو upload_max_filesize تعیین کردهاید. برای نمونه اگر upload_max_filesize برابر با 16M یعنی 16 مگابایت است، باید مقدار post_max_size را نیز برابر با 20M قرار دهید.
max_file_uploads
این دایرکتیو امکان تعیین تعداد بیشینه فایلهایی که میتوانند همزمان آپلود شوند را فراهم میسازد. مقدار پیشفرض 20 است که عدد معقولی محسوب میشود.
max_input_time
این دایرکتیو تعداد بیشینه ثانیههایی که یک اسکریپت مجاز به تفسیر دادههای ورودی است را تعیین میکند. این مقدار در صورتی که قصد دارید فایلهای بزرگی را دانلود کنید، باید به صورت یک مقدار معقول برای نمونه 60 (60 ثانیه) تعیین شود که برای اغلب اپلیکیشنها مقدار مناسبی است.
memory_limit
دایرکتیو memory_limit مقدار بیشینه حافظهای که یک اسکریپت مصرف میکند را تعیین خواهد کرد. اگر در طی آپلود کردن فایلهای بزرگ با مشکلاتی مواجه شدهاید، باید مطمئن شوید که مقدار تعیین شده برای این دایرکتیو بزرگتر از مقداری است که برای post_max_size تعیین کردهاید. مقدار پیشفرض آن 128M یا (128 مگابایت) است و از این رو به جز در مواردی که مقدار post_max_size و upload_max_filesize خیلی بالا تنظیم شده باشند، نباید در مورد آن نگرانی داشته باشید.
max_execution_time
این دایرکتیو تعداد بیشینه ثانیههایی که یک اسکریپت، مجاز به اجرا شدن است را تعیین میکند. اگر با مشکلاتی در طی آپلود فایلهای بزرگ مواجه شدید، باید این مقدار را افزایش دهید. مقدار 30 (30 ثانیه) در مورد اغلب اپلیکیشنها به خوبی کار میکند. در ادامه مثال واقعی خود را برای نمایش روش آپلود فایلها در PHP مینویسیم.
- لینک دانلود فایل بلافاصله بعد از پرداخت وجه به نمایش در خواهد آمد.
- همچنین لینک دانلود به ایمیل شما ارسال خواهد شد به همین دلیل ایمیل خود را به دقت وارد نمایید.
- ممکن است ایمیل ارسالی به پوشه اسپم یا Bulk ایمیل شما ارسال شده باشد.
- در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.