ارسال فایل در فرم های php (آموزش send file with form)

در این جلسه تیم کدگیت قصد آموزش ارسال فایل در فرم های php به شما عزیزان دارد پیش نیازهای این آموزش موارد زیر می باشد:

  • آموزش کار با فرم در php
  • کار ورودی مخفی در فرم های php

ارسال فایل در فرم های php

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

می توان به کمک یک اسکریپت PHP و فرم HTML به کاربر امکان داد، فایل های مورد نیاز را به  server ارسال نماید. در ابتدای امر فایل ها در پوشه موقتی ذخیره می گردد. سپس توسط اسکریپتPHP  به مقصد نهایی انتقال داده می شوند.

مراحل بارگذاری فایل در سرور به شرح زیر می باشد:

  • کاربر صفحه یHTML مورد نظر شامل فرم دریافت فایل را باز می کند.
  • کاربر روی دکمه یbrowseکلیک کرده و فایل مورد نظر را برای ارسال از رایانه ی خود انتخاب می کند.
  • مسیر کامل فایل انتخابی درtext field نمایان شده و پس از آن کاربر روی دکمه یsubmitکلیک می کند.
  • فایل انتخابی در پوشه ی موقتی بر رویserver  ارسال شده و سپس بارگذاری می شود.
  • اسکریپتPHP به عنوان اجرا کننده ی فرم درصفت action فرم تعریف شده، بررسی می کند که آیا فایل های ارسالی دریافت شده اند یا خیر، سپس آن ها را در پوشه ی موردنظربه طور دائم نگه می دارد.
  • اسکریپتPHP موفقیت عملیات را به کاربر اعلام می کند.

به طور معمول لازم است به هنگام نوشتن فایل، سطح دسترسی به هر دو مکان قرار گیری موقت و نهایی فایل ها، روی حالت نوشتن فایل ، تنظیم شده باشد و ان دسترس به اسکریپت php داده شده باشد زیرا اگر حتی تنها یکی از آن ها مجوز یا سطح دسترسیread-only داشته باشند، کل فرایند با شکست مواجه می شود.

ایجاد یک فرم بارگذاری

کدHTMLزیر، یک فرم بارگذاری ایجاد می کند. صفت Method این فرم روی مقدارPost تنظیم شده است. همان طور که در مثال زیر مشاهده می کنید، مقدار multipart/form-data به صفت فرم enctype تخصیص داده شده است.

از قطعه کد بالا دارای نکاتی هست:

نکته: روش ارسال فرم یا همان خصیصه method فرم باید روی حالت post باشد زیرا امکان ارسال فایل ها بزرگ ( تمامی فایل ها نهایتا به صورت متنی در نظر گرفته می شوند) با متد get امکان پذیر نیست.

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

نکته : شما می توانید با قطعه کد زیر(که کاربرد آن در مثال بالا می باشد) نوع فرمت فایل های مجاز برای ارسال را کنترل نمایید:

نکته: شما می توانید به کمک قطعه کد زیر حجم مجاز برای ارسال فایل را مشخص کنید( در اینجا 2 مگابایت مشخص شده است:

نکته: به کمک قطعه کد زیر شما می توانید فایلی که به صورت موقت روی سرور می باشد را جابه جا نمود و آن را به صورت دائم روی سرور خود ذخیره نمایید:

ایجاد اسکریپت بارگذاری / ارسالی

برای ارسال فایل در فرم های PHP یک متغیر سراسری(global) به نام FILES_$ وجود دارد. متغیر ذکر شده یک آرایه ی شرکت پذیر دو بعدی است که کلیه ی اطلاعات مربوط به فایل را در خود ذخیره می کند. قسمت اول (بعد اول ) این آرایه که در مثال زیر file می باشد صفت name مربوط input است که در فرم html به آن input اختصاص داده ایم.

FILES[‘file’][‘tmp_name’]_$ : اسم واقعی فایل ارسالی (آپلود شده).

FILES[‘file’][‘name’]_$  : حجم فایل ارسالی بر حسب واحد بایت.

FILES[‘file’][‘size’]_$ : سایز فایل آپلود شدهبر حسب واحدبایت.

FILES[‘file’][‘type’]_$ : فایل ارسالی/نام کپی موقت از فایل که روی سرور ذخیره شده.

FILES[‘file’][‘error’]_$ : (کد خطا) که از فایل ارسالی حاصل شده است.

در مثال زیر نشان می دهیم که یک فایل آپلود شده چگونه یک سری اطلاعات مربوط به فایل را باز می گرداند:

در اینجا آموزش ارسال فایل در فرم های php به پایان می رسد امیدواریم توانسته باشیم مطلب را خوب انتقال دهیم.

پسورد : www.codegate.ir

دسته : php

دیدگاه بگذارید

نظر شما چیست؟

مطلع کردن شما از
avatar

wpDiscuz