我无法将文件和文件夹从一台服务器传输到另一台服务器


I am not able to trasfer file and folder from one server to another server

请找到以下代码。除此之外,我忘了声明我实际上正在magento网络商店上运行这个脚本,但这并不重要,因为除了文件传输之外,我一切都很好。

<?php
require_once('app/Mage.php');
Mage::app();
$products = Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*');
$array1=array();
$array2=array();
echo $destination_dir = dirname(__FILE__);
$remote_file = '/B303501/_Datenblatt.pdf';       
$ftp_server = "*******";
$ftp_user = "************";
$ftp_pass = "******";
$local_file = '/E212002M';
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 
foreach ($products as $product) {
    array_push($array1,$product->getData("sku"));
    array_push($array2,$product->getData("image"));
}
// try to login
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    //echo "Connected as $ftp_user@$ftp_server";
    ftp_pasv($conn_id, true);
    if(!@copy('/B303501/_Datenblatt.pdf','/media/catalog/product/demo/'))
	{
	    $errors= error_get_last();
	    echo "COPY ERROR: ".$errors['type'];
	    echo "<br />'n".$errors['message'];
	} else {
	    echo "File copied from remote!";
	}
    $i = 0;
	$contents = ftp_nlist($conn_id, ".");
	foreach ($contents as $cont) {
		if(in_array($cont,$array1)){
            echo $cont. "</br>";
            $buff = ftp_rawlist($conn_id, '/'.$cont.'/');
            
            echo "<pre>";
            print_r($buff);
            echo "</pre>";
            $tobecopied = 'http://www.example.com/index.html';
            $target = $destination_dir . '/media/catalog/product/demo/';
            foreach($buff as $key){
                if(!@copy('/'.$cont.'/'.$key,'/media/catalog/product/demo/'))
				{
				    $errors= error_get_last();
				    echo "COPY ERROR: ".$errors['type'];
				    echo "<br />'n".$errors['message'];
				} else {
				    echo "File copied from remote!";
				}
            }
    $i++;    
        }
	}
} else {
    echo "Couldn't connect as $ftp_user'n";
}

当文件从一台服务器传输到另一台服务器时,我遇到以下错误。

我有两个实时服务器,我也成功登录,但无法弄清楚文件传输时发生了什么。

以下是错误。

/var/www/clients/client348/web979/web
COPY ERROR: 2
copy(/B303501/_Datenblatt.pdf): failed to open stream: No such file or directoryB303501

如有任何帮助,我们将不胜感激。

如果您需要任何关于上述内容的进一步信息,请告诉我。

感谢

我认为应该使用ftp_get而不是copy。还要确保目录层次结构存在于您的目的地,因为ftp_getcopy都不会为您创建丢失的目录。

我终于解决了这个问题。我使用的ftp只是普通的ftp,但为了登录到另一台服务器,你需要SFTP凭据,除非以上都处于工作模式。

感谢您对的支持