フォームを取得し、それをcsvファイルとして出力し、リモートサーバーにアップロードしてから、サーバー上の別のディレクトリに移動する長いPHPスクリプトがあります。アップロード後にリモートフォルダーに移動することを除いて、すべてが機能しています。ここに私が持っているものがあります:
$connection = ssh2_connect('server.url', 22);
ssh2_auth_password($connection, 'user', 'pwd');
ssh2_scp_send($connection, '/var/app/current/Folder/LocalFolder/File.csv', '/home/user/RemoteFolder1/File.csv', 0644);
//here is where I am stuck
mv /home/user/RemoteFolder1/File.csv /home/user/RemoteFolder2/File.csv
//I think this exits sufficiently, is there a better way
ssh2_exec($connection, 'exit');
unset($connection);
2 番目のフォルダーにアップロードするだけでなく、移動する必要があるのはなぜですか?私が尋ねたのと同じ質問です。リモート サーバーの管理者から、「ファイルのアップロード中にファイルを読み取る競合状態が発生するのは簡単です。これにより、ファイルの一部しか受信できなくなります。完全にアップロードしてから、2 番目のフォルダーに移動する必要があります。RemoteFolder1 から RemoteFolder2 に移動するにはどうすればよいですか? これまでのところ、正しいコマンドがわからず、機能mv
しmove_uploaded_file
ていません