ファイル内のデータを使用してデータベーステーブルを更新できるように、あるサーバーから私のサーバーに ftp 経由で zip ファイルを転送しようとしています。ここに私のftp.phpファイルがあります:
<?php
header('Content-type: text/html; charset=utf-8');
$date = "2013-05-21-11-19-40";
$ftp_server="ftp.server.com";
$ftp_user_name="BookCellar";
$ftp_user_pass="*****";
$file = "/reports/other/compreport_abebooks_" .$date. ".zip";//tobe uploaded
$remote_file = "/chroot/home/bookcellaronline.com/html/testbcos/accounting/compreport_abebooks_" .$date. ".zip";
?>
私のftpUpload.phpファイルは次のとおりです。
<?php
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($file));
header('Content-Type: application/zip');
require_once('ftp.php');
// set up basic connection
$conn_id = ftp_ssl_connect($ftp_server);//ftp_connect
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);
// check connection
if ((! $conn_id ) || (! $login_result )) {
echo "FTP connection has failed!" ;
exit;
} else {
echo "Connected for user $ftp_user_name" ;
}
ftp_chdir($conn_id, '/home/bookcell/bookcellaronline.com/html/testbcos/accounting/');
// upload a file
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
echo "successfully uploaded $file\n";
exit;
} else {
echo "There was a problem while uploading $file\n";
exit;
}
echo $php_errormsg;
// close the connection
ftp_close($conn_id);
?>
これらを実行すると、次のエラー メッセージが表示されます。
[<a href='function.ftp-put'>function.ftp-put</a>]: failed to open stream: No such file or directory in /chroot/home/bookcell/bookcellaronline.com/html/testbcos/accounting/ftpUpload.php on line 25
25 行目は次のとおりです。
if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
SOに関する他の投稿をたくさん調査しましたが、解決策が見つかりませんでした。接続は機能していますが、転送するファイルを取得できません。どうすれば(可能であれば)これをサーバーに転送できますか?
編集:彼らのサーバー($file)だけでなく、私のサーバー($remote_file)にも接続する必要があるという事実を見逃していますか????