یک اسکریپت 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 بین تکرارها استفاده کنید و خطاهای مجوز یا مسیر را هندل کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
توصیه: برای استفاده از 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 انجام شود.
گزارش