انتقال فایل‌های حجیم بین دو هاست با php و ftp

جابجا کردن فایل‌های حجیم از یک هاست به هاست دیگر می‌تواند زمانبر و پردردسر باشد، در مطلب قبلی یک اسکریپت php نوشتیم که یک فایل را از سرور مبدا روی هاست جدید دانلود می‌کرد.

در این نوشته می‌خواهیم یک اسکریپت جدید معرفی کنیم که به جای دانلود، فایل مورد نظر شما را با کمک FTP به هاست جدید آپلود می‌کند.

طراحی سایت با php

 

استفاده از روش قبلی که فایل را دانلود می‌کند، ممکن است گاهی با محدودیت سرعت روبرو شود ولی مزیت استفاده از آپلود ftp به جای دانلود، عدم وجود محدودیت سرعت آپلود در بیشتر هاست‌ها می‌باشد.

جهت استفاده از این اسکریپت، متغیرهای لازم شامل نام فایل، مسیر فایل در سرور مقصد، نام سرور ftp، نام کاربری و گذرواژه را در اسکریپت زیر اصلاح کنید و سپس آن را با نامی دلخواه در هاست آپلود نمایید.

پس از اجرای این اسکریپت، فایل از طریق پروتکل ftp به هاست مقصد آپلود خواهد شد.

نکات امنیتی

اسکریپت‌هایی مثل این که اطلاعات دسترسی به هاست‌ها در آن ذخیره شده می‌توانند مشکلات امنیتی برای شما ایجاد کنند. بنابراین پس از تکمیلی فرآیند انتقال فایل، هر چه زودتر این اسکریپت را از روی هاست حذف کنید.

همچنین بهتر است این فایل را با یک نام غیرقابل حدس و در یک شاخه‌ی موقتی روی هاست ایجاد کنید تا اصول امنیتی را بهتر رعایت کرده باشید.

۱۳ نظر در مورد «انتقال فایل‌های حجیم بین دو هاست با php و ftp»

  • صادق هاشمی می‌گوید:

    سلام. میشه دقیق توضیح بدین چجوری از این کد استفاده کنیم؟
    مثلا اف تی پی کیو بنویسیم. سایت مبدا یا مقصد؟
    ریموتش چجوری باشه
    ممنون

    • با سلام
      لطفا توضیحات را یک بار دیگر با دقت مطالعه بفرمایید
      این اسکریپت را باید در یک فایل با پسوند php روی سرور مبدا کپی کنید و اطلاعات ftp سرور مقصد را در آن ویرایش کنید. سپس فایل را اجرا نمایید
      با سپاس

  • سجاد می‌گوید:

    درود میگه فایلی در این خط هست رو پیدا نمیکنه :
    $remote_file = '/public_html/upload.tar.bz2';

    ممنون میشم پاسخ رو به ایمیل هم ارسال کنید.

    • با سلام
      دقت کنید که اسم فایل مبدا و مسیر فایل مقصد را به درستی وارد نمایید
      از یک نرم‌افزار ftp مثل Filezilla کمک بگیرید تا بررسی کنید که مسیر وارد شده در سرور مقصد موجود است

  • متین می‌گوید:

    نمیشه قبل اینکه به هاست وارد بشه اگه فرمتش rar باشه تبدیل به زیپ بشه؟

    • با سلام
      تبدیل شدن فایل rar به zip کار آسانی نیست و ابتدا باید فایل rar استخراج شود و سپس مجددا با فرمت zip فشرده‌سازی گردد
      انجام این تبدیل به زیرساخت‌های نرم‌افزاری روی هاست وابسته است و همچنین به یک اسکریپت مجزا نیاز دارد

  • محمد جواد می‌گوید:

    سلام
    درصد پیشرفت رو هم میشه نشون داد؟

    • با سلام
      بله امکان اصلاح اسکریپت برای نمایش درصد انتقال هم وجود دارد ولی با توجه به نوع استفاده، به سادگی می‌توانید با مراجعه به File Manager یا FTP مقدار حجم فایل انتقال یافته را مشاهده کنید

  • تابان می‌گوید:

    با سلام
    ممنون خیلی عالی بود .
    آیا امکان داره که با این سرعت از دسکتاپ هم آپلود کرد.
    با سپاس فراوان

    • با سلام
      سرعت انتقال بالا به دلیل سرعت اینترنت بالا روی هاست است و روی کامپیوتر خانگی معمولا چنین اینترنتی موجود نیست

  • Mohammad می‌گوید:

    آقا دمت گرم انصافا
    کلی گشتم از صبح تا بتونم یه راهی پیدا کنم فایل بکاپ و بیارم رو هاست دانلودم و چون شرکت های هاستینگ هم دسترسی به شل نمیدن این اسکریپت شما نجاتم داد
    همیشه شاد و سلامت باشید.

  • سلام من یه کدی میخوام که روی هاست دانلود بزارم فایل رو از یه سایتی مثلا اپارات برداره و باftp به هاست منتقل کنه یا هم توی هاست اصلیم اپلود کنه و یا یه کد باشه با لینک مستقیم فایل رو بگیره تو هایت اصلی اپلود کنه بعد همون فایل رو از هاست اصلی بعد از اپلود کامل وردازه باftp رو هاست دانلود اپلود کنه بعد فایل رو از هاست اصلی پاک کنه
    میشه؟

    • با سلام
      بسته به اینکه حجم کارهای شما چقدر باشد ممکن است با انجام تغییراتی جزئی در همین اسکریپت قابل انجام باشد یا اینکه اگر حجم و تعداد آن زیاد است لازم است تا یک اسکریپت مخصوص برای شما نوشته شود. اگر در زمینه‌ی برنامه‌نویسی php تجربه ندارید، باید از یک برنامه‌نویس بخواهید تا موارد مورد نیاز شما را انجام بدهد.

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

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