2014-05-05 173 views
0

我的网络服务器上有大文件(总共约250MB)。我想将这些文件快速发送到我的第二台服务器,而无需使用ftp客户端。我知道我的第二台服务器的ftp密码,用户名等,但是如何在没有ftp客户端的情况下做到这一点?将文件从一台服务器发送到另一台服务器。

+0

是否需要PHP?无法从目标服务器使用“wget”来下载文件? (只是问,无论如何 - 从PHP发送大文件到PHP可能导致失败 - 速度慢,内存限制..) – Seti

+0

我的解决方案是否满足您的问题?如果是这样,请将其标记为正确。 –

回答

1
$file = 'somehugefile.big'; 
$remote_file = '/uploads/somehugefile.big'; 

// set up basic connection 
$conn_id = ftp_connect($ftp_server); 

// login with username and password 
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// upload a file 
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) { 
    echo "successfully uploaded $file\n"; 
} else { 
    echo "There was a problem while uploading $file\n"; 
} 

// close the connection 
ftp_close($conn_id); 

这个例子是改编自官方文档 - >http://www.php.net/manual/en/function.ftp-put.php

你将不得不改变在php.ini“upload_max_filesize的”和“的post_max_size”到一个更高的价值,以及。

ini_set('upload_max_filesize', '250M');  
ini_set('max_execution_time', '999'); 
ini_set('memory_limit', '500M'); 
ini_set('post_max_size', '250M'); 
+1

只记得'FTP_BINARY'不是FTP_ASCII或非文本文件会被破坏! – Seti

+0

@Seti - 感谢您指出 - 更新。 –

+0

我的荣幸。但改变这个限制是坏的反正。你可以编写你自己的简单协议,并将大文件拆分成更小的文件。然后通过php-ftp发送小文件并将它们连接在目标服务器上。 – Seti

相关问题