次のコードを見つけてください。これに加えて、私は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 [email protected]$ftp_server";
ftp_pasv($conn_id, true);
if([email protected]('/B303501/_Datenblatt.pdf','/media/catalog/product/demo/'))
\t {
\t $errors= error_get_last();
\t echo "COPY ERROR: ".$errors['type'];
\t echo "<br />\n".$errors['message'];
\t } else {
\t echo "File copied from remote!";
\t }
$i = 0;
\t $contents = ftp_nlist($conn_id, ".");
\t foreach ($contents as $cont) {
\t \t 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([email protected]('/'.$cont.'/'.$key,'/media/catalog/product/demo/'))
\t \t \t \t {
\t \t \t \t $errors= error_get_last();
\t \t \t \t echo "COPY ERROR: ".$errors['type'];
\t \t \t \t echo "<br />\n".$errors['message'];
\t \t \t \t } else {
\t \t \t \t echo "File copied from remote!";
\t \t \t \t }
}
$i++;
}
\t }
} 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
を使うべきだと思う
おかげ
どのようにPHPに関連していますか? – Furgas
私はPHPのスクリプトを使用して2つのライブサーバー間でファイルを転送する必要があるので、それはPHPの関連 –
あなたが使用しているコードを提供してください。 – Furgas