نکته : نسخه تحت ویندوز PHP ، به طور کامل از توابع FTP پشتیبانی کرده و نیاز به تنظیم خاصی بر روی آنها نیست .
اما اگر از نسخه تحت لینوکس آن استفاده می کنید ، بایستی افزونه enable-ftp را برای پشتیبانی صحیح از این توابع ، بر روی سرور نصب کنید .
لیست زیر توابع مهم و پرکاربرد کار با FTP در PHP نشان می دهد . برای دریافت اطلاعات بیشتر بر روی نام هر یک کلیک نمایید :
نام تابع | شرح عملکرد |
ftp_alloc ( ) | این تابع میزان فضای لازم برای ذخیره سازی یک فایل بر روی سرور FTP را بررسی می کند . |
ftp_cdup ( ) | این تابع مسیر جاری در سرور را یک مرحله بالاتر ( به پوشه مادر parent پوشه جاری ) انتقال می دهد . |
ftp_chdir ( ) | این تابع پوشه جاری بر روی سرور FTP که کاربر درون آن است ، را به پوشه تعیین شده عوض می کند . |
ftp_close ( ) | این تابع اتصال ایجاد شده به یک سرور FTP را می بندد . |
ftp_connect ( ) | این تابع یک اتصال( Connection ) به سرور FTP مورد نظر ، ایجاد می کند . |
ftp_delete ( ) | این تابع ، فایل تعیین شده برای آن بر روی سرور را حذف می کند . |
تابع ( ) ftp_alloc:
تابع ( ) ftp_alloc ، میزان فضای لازم برای آپلود و ذخیره سازی یک فایل بر روی سرور FTP را بررسی کرده و جواب آن را بر می گرداند .
اگر فضای کافی برای ذخیره سازی فایل بر روی سرور موجود باشد ، تابع مقدار true و در غیر اینصورت مقدار false را بر می گرداند .
نکته : ممکن است برخی از سرورهای FTP از این تابع پشتیبانی نکنند .
شکل کلی استفاده از این تابع به صورت زیر است :
syntax | ftp_alloc( ftp_connection , size ,return ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر ، نام Connection یا اتصال FTP ای که از آن برای اتصال به سرور FTP استفاده می شود را تعیین می کند . استفاده از این پارامتر اجباری است . |
ftp_connection |
این پارامتر اندازه فایل مورد نظر برای آپلود به سرور را بر حسب bytes ، مشخص می سازد . استفاده از این پارامتر اجباری است . |
size |
از این پارامتر می توان برای تعیین یک متغیر استفاده نمود تا پاسخ ارسالی از سرور را در آن نگهداری کرد . استفاده از این پارامتر اختیاری است . |
return |
مثال های عملی :
در این بخش با ارائه دو مثال عملی ، نحوه استفاده از تابع ( ) ftp_alloc را در عمل نشان داده ایم .
مثال 1 : در مثال زیر ، ساده ترین حالت استفاده از تابع ( ) ftp_alloc را نشان داده ایم . برنامه بررسی می کند آیا می تواند فایلی به اندازه 160 bytes را به سرور ارسال کند یا خیر و سپس جواب آن را در خروجی چاپ می کند :
مثال |
< ? php $conn = ftp_connect("ftp.testftp.com") or die("Could not connect"); // ایجاد ارتباط ftp_login($conn,"admin","ert456"); // ارسال اطلاعات ارتباط به سرور و ورود ftp_alloc($conn,"160",$response); // بررسی میزان فضالی لازم echo $response; // چاپ خروجی تابع ftp_close($conn); // پایان ارتباط ? > |
مثال 2 : در مثال زیر ، می خواهیم یک فایل متنی به نام " myfile.txt " را به سرور آپلود نماییم . برنامه بررسی می کند آیا فضای لازم برای آپلود آن وجود داشته یا خیر و سپس جواب را به کاربر اعلام می کند :
مثال |
< ? php $file = "myfile.txt"; $conn = ftp_connect("ftp.testftp.com") or die("Could not connect"); ftp_login($conn,"admin","ert456"); if (ftp_alloc($conn, filesize($file), $response)) { echo " فضای لازم بر روی سرور وجود دارد ."; } else { echo "امکان اندازه گیری فضا وجود ندارد. " . $response; } ftp_close($conn); // پایان ارتباط ? > |
تابع ( ) ftp_cdup:
تابع ( ) ftp_cdup ، پوشه جاری سرور FTP که کاربر درون آن است را به یک مرحله بالاتر ( پوشه مادر یا parent ) انتقال می دهد .
این تابع در صورت موفقیت در انجام این کار مقدار TRUE و در غیر اینصورت مقدار FALSE را بر می گرداند .
شکل کلی استفاده از این تابع به صورت زیر است :
syntax | ftp_cdup( ftp_connection ); |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر ، نام Connection یا اتصال FTP ای که از آن برای اتصال به سرور FTP استفاده می شود را تعیین می کند . استفاده از این پارامتر اجباری است . |
ftp_connection |
مثال عملی :
مثال : در مثال زیر ابتدا در پوشه root سرور قرار داشته و آدرس آن را در خروجی چاپ کرده ایم . سپس به پوشه images رفته و به وسیله یک دستور تابع ftp_cdup ، مجددا به پوشه root برگشته ایم .
مثال |
< ? php $conn = ftp_connect("ftp.testftp.com") or die("Could not connect"); // اتصال به سرور ftp_login($conn,"admin","ert456"); // وارد شدن به سرور // چاپ پوشه جاری echo "Dir: ".ftp_pwd($conn); echo "<br />"; // رفتن به یک پوشه جدید و چاپ نام آن ftp_chdir($conn,"images"); echo "Dir: ".ftp_pwd($conn); echo "<br />"; // برگشت به پوشه مادر و چاپ نام آن ftp_cdup($conn); echo "Dir: ".ftp_pwd($conn); ftp_close($ftp_server); // بست ارتباط ? > |
خروجی |
Dir: / Dir: /images Dir: / |
تابع ( ) ftp_chdir:
تابع ( ) ftp_chdir ، پوشه جاری سرور FTP را به پوشه تعیین شده برای آن تغییر می دهد .
این تابع در صورت موفقیت در انجام این کار مقدار TRUE و در غیر اینصورت مقدار FALSE را بر می گرداند .
شکل کلی استفاده از این تابع به صورت زیر است :
syntax | ftp_chdir( ftp_connection , directory ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر ، نام Connection یا اتصال FTP ای که از آن برای اتصال به سرور FTP استفاده می شود را تعیین می کند . استفاده از این پارامتر اجباری است . |
ftp_connection |
این پارامنتر تعیین کننده پوشه جدیدی است که کاربر می خواهد ، به آن برود . استفاده از این پارامتر اجباری است . |
directory |
مثال عملی :
مثال : در مثال زیر کاربر ابتدا در پوشه اصلی root سرور است . سپس توسط یک دستور تابع ( ) ftp_chdir به پوشه images می رود :
مثال |
< ? php // ایچاد ارتباط با سرور و سپس به ورود به آن $conn = ftp_connect("ftp.testftp.com") or die("Could not connect"); ftp_login( $conn,"admin","ert456" ) ; // نمایش پوشه جاری در خروجی echo "Dir: ".ftp_pwd( $conn ) ; echo ""; // تغییر پوشه جاری به پوشه ای دیگر ftp_chdir( $conn,"images" ); echo "Dir: ".ftp_pwd( $conn ); ftp_close($ftp_server); // بستن ارتباط ? > |
خروجی |
Dir: / Dir: /images |
تابع ( ) ftp_delete:
تابع ( ) ftp_delete ، فایل تعیین شده برای آن بر روی سرور را حذف می کند . .
این تابع در صورت موفقیت در حذف فایل تعیین شده TRUE و در غیر اینصورت مقدار FALSE را بر می گرداند .
شکل کلی استفاده از این تابع به صورت زیر است :
syntax | ftp_delete( ftp_connection , file ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر ، نام Connection یا اتصال FTP ای که از آن برای اتصال به سرور FTP استفاده می شود را تعیین می کند . استفاده از این پارامتر اجباری است . |
ftp_connection |
این پارامتر تعیین کننده فایلی است که باید از سرور پاک شود . استفاده از این پارامتر اجباری است . |
file |
مثال عملی :
مثال : در مثال زیر تابع ( ) ftp_delete بایستی فایل "test.txt" را از روی سرور پاک کند . چون تابع در این کار موفق می شود ، خروجی 1 که معادل TRUE است را در خروجی چاپ کرده است :
مثال |
< ? php // ایچاد ارتباط با سرور و سپس به ورود به آن $conn = ftp_connect("ftp.testftp.com") or die("Could not connect"); ftp_login( $conn,"admin","ert456" ) ; echo ftp_delete( $conn , "test.txt" ) ; ftp_close($ftp_server); // بستن ارتباط ? > |
خروجی | 1 |
منبع: developer1