私のMacからPHP経由でSFTPにローカルファイルをアップロードしようとしています。私のコード:ローカルからSFTP経由でSFTPにファイルをアップロードする
$connection = ssh2_connect($server, $port);
if (ssh2_auth_password($connection, $username, $passwd)) {
$sftp = ssh2_sftp($connection);
echo "Connection successful, uploading file now..."."\n";
$file = '/Users/petenaylor/Desktop/diamondexclusive.mp4';
$contents = file_get_contents($file);
file_put_contents("ssh2.sftp://{$sftp}/{$file}", $contents);
}
else {
echo "Unable to authenticate with server"."n";
}
それは、私のローカルファイルの場所が正しいことを確認している必要がありますが、私が手にエラーメッセージがあるとして、それが接続されている:
警告:のfile_get_contents(/ユーザ/ petenaylor /デスクトップ/ diamondexclusive.mp4):ストリームを開くことに失敗しました:39行目の/home/test.phpにそのようなファイルやディレクトリがありません
警告:file_put_contents():ssh2.sftp:// Resource id#3を開くことができません//ユーザー/ petenaylor/Desktop/diamondexclusive.mp4リモートホストの/home/test.php 40行目
警告:file_put_contents(ssh2.sftp:// Resource id#3 // Users/petenaylor/Desktop/diamondexclusive.mp4):ストリームを開くことに失敗しました:行40の/home/test.phpに失敗しました
Filezillaのからログファイル:
Command: put "/Users/petenaylor/Desktop/diamondexclusive.mp4" "diamondexclusive.mp4"
Status: local:/Users/petenaylor/Desktop/diamondexclusive.mp4 => remote:/home/myfarewellnote/web/diamondexclusive.mp4
Trace: FileTransferParseResponse(0)
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: File transfer successful, transferred 12,661,295 bytes in 111 seconds
Status: Retrieving directory listing of "/home/myfarewellnote/web"...
Trace: CSftpControlSocket::ParseSubcommandResult(0)
Trace: CSftpControlSocket::ListSubcommandResult()
Trace: CSftpControlSocket::SendNextCommand()
Trace: CSftpControlSocket::ListSend()
Command: ls
Status: Listing directory /home/myfarewellnote/web
Trace: CSftpControlSocket::ListParseResponse()
Trace: CSftpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: Directory listing of "/home/myfarewellnote/web" successful
スタンドアロン(GUIまたはコマンドラインを使用して '/ユーザ/ petenaylor /デスクトップ/ diamondexclusive.mp4'にファイルをアップロードすることができます)SFTPクライアント?可能であれば、私たちにそのログファイルを見せてください。 –
FileZillaを使って正常に実行できます。そこからログファイルを提供しますか? –
はい、どうぞ。詳細ログファイル。 –