اسکریپت php انتقال فایل از هاست به هاست دیگر

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

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

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

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

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

روش انتقال

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

برای مثال اگر می‌خواهید فایل http://example.com/old-site.tar.gz را به هاست جدید http://pc4you.ir منتقل کنید، ابتدا یک شاخه‌ی جدید مانند upload در هاست جدید بسازید، آدرس فایل موجود در هاست قدیمی را در اسکریپت کپی کنید. اسکریپت را در هاست جدید آپلود کنید و در پایان با اجرای دستور

http://pc4you.ir/upload/transload.php

فایل را با سرعت زیاد از هاست قدیمی به هاست جدید منتقل کنید.

 

 

 

 
انتقال فایل از سرور به سرور دیگر از طریق پروتکل http

اگر فایل موجود در هاست قدیمی با استفاده از پروتکل http یا ftp بدون رمز قابل دسترسی است، از کد زیر استفاده نمایید:

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>ROKA Transload</title>
</head>
<body>
<?php
	$source = 'http://example.com/old-site.tar.gz';

	$fh = fopen( basename( $source ), 'w' );
	$ch = curl_init( $source );
	curl_setopt( $ch, CURLOPT_FILE, $fh );
	curl_exec( $ch );
	curl_close( $ch );

	fclose( $fh );

	echo 'done';
?>
</body>
</html>

 

 

 

انتقال فایل از هاست به هاست دیگر از طریق پروتکل ftp

اگر قصد انتقال فایل از طریق پروتکل ftp به همراه رمز را دارید، قطعه کد زیر را مطابق نیاز تغییر دهید و از آن برای جابجایی فایل کمک بگیرید:

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>ROKA Transload FTP</title>
</head>
<body>
<?php
	$source = 'ftp://example.com/old-site.tar.gz';

	$fh = fopen( basename( $source ), 'w' );
	$ch = curl_init( $source );
	curl_setopt( $ch, CURLOPT_FILE, $fh );
	curl_setopt( $ch, CURLOPT_USERPWD, "USER:PASSWORD");
	curl_exec( $ch );
	curl_close( $ch );

	fclose( $fh );

	echo 'done';
?>
</body>
</html>

دیدگاه‌ها

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

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

Time limit is exhausted. Please reload the CAPTCHA.