آموزش ارسال فایل Upload در PHP


آموزش ارسال فایل Upload در زبان PHP :

آپلود فایل ها بر روی سرور با استفاده از زبان PHP بسیار ساده است.اما همواره با سادگی خطراتی هم همراه خواهد بود. بنابراین هنگام آپلود فایل ها بر سرور به دلیل امکان ارسال فایل های مخرب یاحجیم بسیار دقت کنید.

مرحله اول تنظیم فایل “php.ini”:

در مرحله اول بایستی مطمئن باشید که سرور PHP شما جهت امکان دریافت فایل٬تنظیم شده باشد.
درون فایل”php.ini” به دنبال خاصیت file Upload گشته و همانند کد زیر مقدار آن را بر روی on قرار دهید:

     file_uploads = On   

مرحله دوم-ایجاد فرم Html لازم جهت آپلودفایل:

در مرحله دوم٬ بایستی یک فرم Html طراحی کنید که در آن کاربر بتواند یک فایل مثل عکس یا image را انتخاب کرده و آپلود کند. همانند کد فرم زیر:

  < !DOCTYPE html>  < html>  < body>     < form action="upload.php" method="post" enctype="multipart/form-data">             Select image to upload:                                                 < /form>  < /body>  < /html>   

قواعد زیر را بایستی در هنگام تعریف کد فرم Html رعایت کنید:

  • حتما مطمئن شوید که خاصیت method=”Post” تنظیم شده باشد.
  • همچنین لازم است فرم حاوی خاصیت enctype=”multiparty/form-data” باشد. این خاصیت تعیین کننده نوع محتویات قابل ارسال “”count-type در هنگام ارسال یا submit فرم است.بدون تنظیم موارد فوق٬ آپلود فایل با مشکل مواجه خواهد شد.

موارد زیر را نیز در تنظیم فرم رعایت کنید:

  • تعیین خاصیت type=”file ” در تگ باعث می شود تا این کنترل به شکل یک دکمه فرمان انتخاب فایل یا file-select control درآمده و یک دکمه Browse جهت پیدا کردن فایل مورد نظر را در کنار کنترل input نشان دهد.

فرم Html کد مثال فوق٬ اطلاعات فایل را به صفحه ” “upload.PHP که در مرحله بعدی ایجاد خواهیم کرد٬می فرستد.

مرحله سوم-تعیین اسکریپت لازم جهت آپلود فایل:

کد فایل”upload.PHP” که برای آپلود فایل به کار می رود به صورت زیر است.آن را مرور کنید. در انتها به توضیح نکات مهم آن پرداخته ایم:

      

توضیح موارد موجود در کد فوق به شرح زیر است:

  • تعیین خاصیت “uploads/” “$target_dir ” = پوشه ای که فایل آپلود شده بایستی در آن قرار بگیرد را نشان می دهد.
  • خاصیت “”$target_file مسیر لازم جهت انتخاب فایل برای آپلود را مشخص می کند.
  • خاصیت =1 $uploadOK در حال حاضر استفاده نمی شود و در مراحل بعدی به تشریح آن خواهیم پرداخت.
  • خاصیتImageFileType $ تعیین کننده پسوند یا extension فایل جهت آپلود است.
  • در مرحله آخر هم چک کرده ایم که آیا فایل image یک فایل واقعی عکس یا یک فایل جعلی است که در صورت جعلی بودن آن از انجام عملیات آپلود جلوگیری می شود.
نکته:

شما باید یک پوشه جدید به نام “uploads” را در مسیری که فایل “”upload.php قرار دارد ایجاد کنید. فایل های أپلود شده در این پوشه ذخیره خواهند شد.

دیدگاهتان را بنویسید