تعداد بازدید: 1767

کار با پروتکل FTP در PHP

یکی دیگر قوانین حاکم بر دنیای وب ( از پروتکل های اینترنت لایه application ) پروتکل ftp است که با استفاده از آن می توانیم فایل ها را میان کامپیوتر ها از طریق اینترنت جا به جا کنیم.

FTP (File Transfer Protocol) قوانین حاکم برای انتقال فایل در دنیای اینترنت می باشد. همانند سایر پروتکل ها لینک درخواست آن به شکل زیر می باشد.

protocol.host:port

مثلا لینک ftp.example.com:21 یک لینک اتصال از طریق پروتکل ftp می باشد. در پروتکل ftp ما authentication به وسیله username , password داریم.

همانند سایر پروتکل ها در اتصال از طریق پروتکل ftp ما یک کامپیوتر مشتری (Client) داریم و یک کامپیوتر میزبان (Server) داریم.

نکته : انتقال اطلاعات در این پروتکل به شکل غیر رمزنگاری شده می باشد ، نوع رمزنگاری شده این پروتکل ftps می باشد که امنیت آن بالاتر است.

خدمات پروتکل FTP

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

  • نمایش لیست فایل های موجود
  • حذف ، تغییرنام و جابجا کردن فایل‌ها
  • جستجو در شاخه‌های کامپیوتر راه دور
  • ایجاد یا حذف دایرکتوری
  • انتقال فایل از کامپیوتر کلاینت به سرور (upload)
  • انتقال فایل از کلاینت به سرور (download)

ساختار کار این پروتکل به شکلی است که در ابتدا باید یک نشست برای ارتباط بر قرار کنید و بعد اعمال لازم را (از میان خدماتی که در بالا ذکر کردیم) انجام دهید و بعد نشست را باطل کنید.

لیست خدمات بالا اعمالی است که Client می تواند روی Server پیاده سازی کند (پروتکل ftp آن را مجاز کرده) ، در ادامه به صورت عملی نحوه کار بالا را با استفاده از توابع php انجام می دهیم .

کار با ftp در زبان php

افزونه ای با نام php_ftp.dll در این زبان داریم که به صورت پیش فرض در مسیر /php/ext/php_ftp.dll موجود می باشد. برای فعال سازی آن باید در فایل php.ini خط کد زیر را قرار دهید (یا از حالت کامنت خارج کنید) :

extension=php_ftp.dll

مراحل اتصال یک Client به یک Server از طریق پروتکل ftp به شکل زیر می باشد :

$ftp_server = "ftp.example.com";
// CONNECTION
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
// AUTHENTICATION
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);

// FTP SERVICES

// CLOSE CONNECTION
ftp_close($ftp_conn);

مرحله یک ) اتصال به سرور از طریق پروتکل ftp از طریق تابع ftp_connect که در این مرحله ما handler می گیریم که در مراحل بعد استفاده می کنیم.

مرحله دوم ) احراز هویت با username و password و با استفاده از تابع ftp_login .

مرحله سوم ) عملیات های لازم از میان خدمات این پروتکل نظیر بارگزاری ، دانلود ، ایجاد دایرکتوری …

مرحله پایانی ) قطع اتصال با استفاده از تابع ftp_close و handler که از مرحله اول گرفتیم.

نکته : در مرحله اتصال یا تابع ftp_connect ما دو متغیر بعدی یعنی port و timeout را به صورت پیش فرض رها می کنیم که چنانچه لازم بود می توانید تغییر دهید.پورت به صورت پیش فرض 21 است مگر اینکه در سرور (کامپیوتر میزبان) آن را تغییر داده باشند.

یک سری توابع برای استفاده از خدمات ftp در مرحله سوم داریم :

ftp_put : تابعی برای آپلود فایل در سرور

$result = ftp_put($ftp_conn,$file_name,$file_tmp,FTP_BINARY);

این تابع چهار پارامتر می گیرد.

  • ftp_conn : همان مقدار handler که در مرحل ابتدایی به دست اوردیم.
  • file_name : نام فایل آپلود.
  • ftp_tmp : مسیر فایل در کامپیوتر Client.
  • mode : نوع فایل آپلودی که اگر تصویر باشد برابر با FTP_BINARY می باشد.

ftp_mkdir : ساخت دایرکتوری در کامپیوتر سرور

ftp_rename : تغییر نام فایل در سرور

ftp_rmdir : حذف یک دایرکتوری.

ftp_chdir : تغییر مسیر جاری . همچنین تابع ftp_pwd را داریم که مسیر جاری را بر می گرداند.

توابع بسیاری وجود دارد که شباهت زیادی به توابع کار با فایل دارد. می توان گفت توابع کار با فایل از کامپیوتر مشتری (Client) در کامپیوتر میزبان (Server) با استفاده از پروتکل ftp .

توابع بالا تماما در مرحله سوم انجام می پذیرند و باید اتصال و احراز هویت قبل از آن انجام شده باشد . مراحل را به ترتیب از یک به چهار انجام دهید (خط 7 قسمت FTP SERVICES ).

مطالب مشابه

email handling in php

ارسال و دریافت ایمیل در php

قوانین حکم فرما بر دنیای وب را پروتکل می نامیم. پروتکل http که در سرور ها برای ایجاد پاسخ به درخواست ها در برخی...

ساخت REST API با PHP

API (Application Program Interface) یعنی یک واسط برای استفاده از امکانات نرم افزار. واسط های گرافیکی نرم افزار رو هم می...

هدر های Http در درخواست و پاسخ

Http Headers (قسمت سوم)

Http Request و Http Response درخواست و پاسخ بر اساس پروتکل Http می باشند و می توان از این ها برای ارتباط میان نرم افزار...

هدر های Http در درخواست و پاسخ

Http Headers (قسمت دوم)

http headers حاوی اطلاعاتی در رابطه با نوع درخواست ما می باشند. همچنین یک نوع رابط میان درخواست کلاینت و پاسخ سرور در...

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای کار با پروتکل FTP در PHP

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *