PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : جابجایی فایل بین دو سرور توسط php



djmohammad
April 20th, 2014, 13:09
در صورتی که قصد دارید فایلی توسط php (http://www.silverlearn.ir/php) از یک سرور به سرور دیگر انتقال دهید کد زیر را در فایل php (http://www.silverlearn.ir/php) خود ذخیره نمایید در بخش اطلاعات ftp شامل پارامترهای server , user و pass اطلاعات ftp سرور قبلی خود را درج نمایید و در پارامتر file نام فایل را در سروری که فایل هم اکنون در آن قرار دارد و در پارامتر localfile نام فایل را در سروری که قصد دارید فایل را به آن انتقال دهید درج نمایید و در نهایت فایل php (http://www.silverlearn.ir/php) را در سروری که می خواهید فایل را به آن انتقال دهید بارگذاری نموده و فایل php (http://www.silverlearn.ir/php) را از طریق مرورگر وب مرور نمایید. به همین راحتی فایل شما بین دو سرور انتقال می یابد.




$server = "example.com"; //target server address or domain name from we wana download file
$user = " ftpusername@example.com"; //username on target server
$pass = "ftpPassword"; //password on target server for Ftp
$file = "Filename.tar"; /*source file on the server which we wana download ,single file name refers that file is in Home/root*/
$local_file = 'local.tar';//download file and store as local.tar
//================================
$sessid = ftp_connect($server); //connect
$login_ok = ftp_login($sessid, $user, "$pass"); //login
if ((!$sessid) || (!$login_ok)):
echo "failed to connect: check hostname, username & password";
exit; //failed? Unable to connect!
endif;

if (ftp_get($sessid, $local_file, $file, FTP_BINARY)) //Ftp get function which will download file
{
echo "Successfully written to $local_file\n";
} else {
echo "There was a problem\n";
}

ftp_close($sessid);



برای فایل های با حجم بزرگ می توانید از کد زیر استفاده نمایید:



$path = 'newfile.zip';
$url = 'File address in old server';
$newfname = $path;
echo 'Starting Download!
';
$file = fopen ($url, "rb");
if($file) {
$newf = fopen ($newfname, "wb");
if($newf)
while(!feof($file)) {
fwrite($newf, fread($file, 1024 * 50 ), 1024 * 50 );
echo '1 MB File Chunk Written!
';
}
} if($file) {
fclose($file);
}
if($newf) {
fclose($newf);
}
echo 'Finished!';
?>