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

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

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

معمولا فایل های بالای 80مگ در اکثر شرکت های میزبانی اماکن انتقال نیست چون محدودیت قرار داده شده و موقع انتقال ارور time out دریافت میکنید.

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

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

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

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

<?php ini_set( 'max_execution_time', 300 ); ?>
<!doctype html>
<html lang="fa">
<head>
	<meta charset="UTF-8">
	<title>آپلود کننده سپاهان سرور</title>
</head>
<body>
	از سایت ما دیدن کنید: <a href="https://sepahanserver.com/">sepahanserver</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>