[英]What method is the best to copy files from one server to another using PHP
[英]What is the best way to move files from one server to another with PHP?
我想设置一个运行PHP脚本的CRON,然后将XML文件(保存非敏感信息)从一个服务器移动到另一个服务器。
我已获得正确的用户名/密码,并希望使用SFTP协议。 这些工作将每天运行。 一台服务器可能是Linux而另一台服务器是Windows。 两者都在不同的网络上。
移动该文件的最佳方法是什么?
如果两个服务器都在Linux上,您可以将rsync用于任何类型的文件(php,xml,html,binary等)。 即使其中一个是Windows,也有Windows的rsync端口。
为什么不尝试使用PHP的FTP功能 ?
然后你可以这样做:
// open some file for reading
$file = 'somefile.txt';
$fp = fopen($file, 'r');
// 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);
// try to upload $file
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
echo "Successfully uploaded $file\n";
} else {
echo "There was a problem while uploading $file\n";
}
// close the connection and the file handler
ftp_close($conn_id);
fclose($fp);
为什么不使用shell_exec和scp ?
<?php
$output = shell_exec('scp file1.txt dvader@deathstar.com:somedir');
echo "<pre>$output</pre>";
?>
我有类似的情况。 经过一些尝试,我做了一些不同的事情
我们有2台服务器,一台(有原始文件)b(文件应移到它)
并且肯定数据不敏感
现在在服务器a中我调用了一个文件来执行以下操作:1。选择要移动的文件2.压缩文件3.打印.zip文件位置4.如果删除则删除.zip文件(和原始文件)参数传递
在服务器b中,文件应该:1。调用服务器上的文件2.下载zip文件3.解压缩并将其复制到正确的位置4.调用服务器上的删除功能a
通过这种方式,我可以更好地控制我的功能,测试和操作!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.