انتقال فایلهای حجیم از هاست به هاست دیگر با php و ftp
پیشتر اسکریپتی را برای شما آماده کرده بودیم که کار انتقال فایلهای حجیم را از سروری به سرور دیگر به انجام میرساند. در روش قبلی اسکریپت php روی هاست مقصد قرار میگرفت و فایل مورد نظر شما را از سرور دیگر دانلود میکرد.
- توضیحات بیشتر و دانلود اسکریپت انتقال فایل
به دلیل برخی محدودیتها شامل محدودیت سرعت دسترسی به شبکه یا محدودیت سرعت ذخیرهسازی فایل که در بیشتر سرورهای اشتراکی وجود دارد، ممکن است در انتقال فایلهای پر حجم به روش قبلی با مشکل مواجه شوید.
در ادامه اسکریپتی جدید را که در عوض دانلود فایل، آن را با استفاده از پروتکل ftp به سرور مقصد آپلود میکند برای شما آماده کردیم.
مزیت استفاده از آپلود ftp به جای دانلود، عدم وجود محدودیت سرعت آپلود در بیشتر هاستها میباشد.
جهت استفاده از این اسکریپت، متغیرهای لازم شامل نام فایل، مسیر فایل در سرور مقصد، نام سرور ftp، نام کاربری و گذرواژه را در اسکریپت زیر اصلاح کنید و سپس آن را با نامی دلخواه در هاست آپلود نمایید.
پس از اجرای این اسکریپت، فایل از طریق پروتکل ftp به هاست مقصد آپلود خواهد شد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php ini_set( 'max_execution_time', 300 ); ?> <!doctype html> <html lang="fa"> <head> <meta charset="UTF-8"> <title>آپلود کننده روکا</title> </head> <body> از سایت ما دیدن کنید: <a href="https://rokaweb.ir/">RokaWeb</a> <br> <?php $file = 'upload.tar.bz2'; $remote_file = '/public_html/upload.tar.bz2'; $ftp = ftp_connect( 'ftp.example.com' ); $login_result = ftp_login( $ftp, 'username', 'password' ); if( ftp_put( $ftp, $remote_file, $file, FTP_BINARY ) ) { echo "فایل $file با موفقیت آپلود شد"; } else { echo "رخداد خطا در آپلود فایل $file"; } ftp_close( $ftp ); ?> </body> </html> |
سلام. میشه دقیق توضیح بدین چجوری از این کد استفاده کنیم؟
مثلا اف تی پی کیو بنویسیم. سایت مبدا یا مقصد؟
ریموتش چجوری باشه
ممنون
با سلام
لطفا توضیحات را یک بار دیگر با دقت مطالعه بفرمایید
این اسکریپت را باید در یک فایل با پسوند php روی سرور مبدا کپی کنید و اطلاعات ftp سرور مقصد را در آن ویرایش کنید. سپس فایل را اجرا نمایید
با سپاس
درود میگه فایلی در این خط هست رو پیدا نمیکنه :
$remote_file = '/public_html/upload.tar.bz2';
ممنون میشم پاسخ رو به ایمیل هم ارسال کنید.
با سلام
دقت کنید که اسم فایل مبدا و مسیر فایل مقصد را به درستی وارد نمایید
از یک نرمافزار ftp مثل Filezilla کمک بگیرید تا بررسی کنید که مسیر وارد شده در سرور مقصد موجود است
نمیشه قبل اینکه به هاست وارد بشه اگه فرمتش rar باشه تبدیل به زیپ بشه؟
با سلام
تبدیل شدن فایل rar به zip کار آسانی نیست و ابتدا باید فایل rar استخراج شود و سپس مجددا با فرمت zip فشردهسازی گردد
انجام این تبدیل به زیرساختهای نرمافزاری روی هاست وابسته است و همچنین به یک اسکریپت مجزا نیاز دارد
سلام
درصد پیشرفت رو هم میشه نشون داد؟
با سلام
بله امکان اصلاح اسکریپت برای نمایش درصد انتقال هم وجود دارد ولی با توجه به نوع استفاده، به سادگی میتوانید با مراجعه به File Manager یا FTP مقدار حجم فایل انتقال یافته را مشاهده کنید
با سلام
ممنون خیلی عالی بود .
آیا امکان داره که با این سرعت از دسکتاپ هم آپلود کرد.
با سپاس فراوان
با سلام
سرعت انتقال بالا به دلیل سرعت اینترنت بالا روی هاست است و روی کامپیوتر خانگی معمولا چنین اینترنتی موجود نیست
آقا دمت گرم انصافا
کلی گشتم از صبح تا بتونم یه راهی پیدا کنم فایل بکاپ و بیارم رو هاست دانلودم و چون شرکت های هاستینگ هم دسترسی به شل نمیدن این اسکریپت شما نجاتم داد
همیشه شاد و سلامت باشید.
سلام من یه کدی میخوام که روی هاست دانلود بزارم فایل رو از یه سایتی مثلا اپارات برداره و باftp به هاست منتقل کنه یا هم توی هاست اصلیم اپلود کنه و یا یه کد باشه با لینک مستقیم فایل رو بگیره تو هایت اصلی اپلود کنه بعد همون فایل رو از هاست اصلی بعد از اپلود کامل وردازه باftp رو هاست دانلود اپلود کنه بعد فایل رو از هاست اصلی پاک کنه
میشه؟
با سلام
بسته به اینکه حجم کارهای شما چقدر باشد ممکن است با انجام تغییراتی جزئی در همین اسکریپت قابل انجام باشد یا اینکه اگر حجم و تعداد آن زیاد است لازم است تا یک اسکریپت مخصوص برای شما نوشته شود. اگر در زمینهی برنامهنویسی php تجربه ندارید، باید از یک برنامهنویس بخواهید تا موارد مورد نیاز شما را انجام بدهد.