یک اسکریپت PHP بنویسید که به یک سرور FTP وصل شود و با استفاده از تابع غیر‌مسدود‌کننده ftp_nb_rename نام یک فایل راه دور را تغییر دهد و در هنگام اجرای عملیات وضعیت پیشرفت یا خطاها را گزارش دهد

2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:03

0.0

برای حل این مسئله از افزونه FTP در PHP استفاده کنید: ابتدا با ftp_connect و ftp_login به سرور متصل شوید (در صورت نیاز ftp_pasv را فعال کنید)، سپس با ftp_nb_rename درخواست تغییر نام را ارسال کنید و در یک حلقه با ftp_nb_continue تا زمان تکمیل عملیات وضعیت بازگشتی (FTP_MOREDATA، FTP_FINISHED یا FTP_FAILED) را بررسی کنید؛ در هر تکرار می‌توانید خروجی‌ای مانند نقطه یا پیام وضعیت چاپ کرده و در پایان اتصال را با ftp_close ببندید. نکات: مقدار بازگشتی و ثوابت را بررسی کنید، برای جلوگیری از مصرف بالای CPU از sleep یا usleep بین تکرارها استفاده کنید و خطاهای مجوز یا مسیر را هندل کنید.

توسط پژوهشگر در 220 روز قبل ساعت 02:03
دسته بندی ها: PHP PHP for beginner
sara در 220 روز قبل ساعت 11:05

توصیه: برای استفاده از ftp_nb_rename بهتر است حلقه را با یک sleep کوتاه بین بررسی‌ها مدیریت کنید تا مصرف CPU کاهش یابد و تغییر نام به صورت غیرمسدود انجام شود. همچنین باید حالات FTP_MOREDATA، FTP_FINISHED و FTP_FAILED را به دقت کنترل کنید و در صورت داشتن FTP_FAILED خطای دقیق را با ftp_error و ftp_errno لاگ کنید. فعال‌سازی passive mode با ftp_pasv(true) می‌تواند در برخی سرورها پایداری ارتباط را بهبود دهد. در نهایت مطمئن شوید که مسیر و نام فایل ورودی/خروجی درست است و دسترسی‌های لازم برای کاربر FTP وجود دارد، و تکمیل با ftp_close انجام شود.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری