3

私はphpseclibを使用しています-SFTPクラスで、そのようにファイルをアップロードしようとしています-

$sftp = new Net_SFTP('mydomain.com');
if (!$sftp->login('user', 'password')) {
    exit('Login Failed');
}
$sftp->put('/some-dir/',$fileTempName);

ただし、ファイルは内部にアップロードされていませんがsome-dir、1つ前のディレクトリにアップロードされています(開始ディレクトリに、ルートだとしましょう)。これは私を夢中にさせています.some-dir/または/some-dirまたはのすべての組み合わせを試したと思い/some-dir/ますが、ファイルはそこにアップロードされません.

4

1 に答える 1

3

あなたのプットは、あなたが思っていることをしているとは思いません。Net_SFTP::chdir('/some-dir/')ドキュメントによると、ファイルを送信するディレクトリに切り替えるには a を実行する必要があります。次にput($remote_file, $data)remote_fileはファイルの名前、$dataは実際のファイル データです。

コード例:

<?php
include('Net/SFTP.php');

$sftp = new Net_SFTP('www.domain.tld');
if (!$sftp->login('username', 'password')) {
    exit('Login Failed');
}

echo $sftp->pwd() . "\r\n";
$sftp->put('filename.ext', 'hello, world!');
print_r($sftp->nlist());
?>
于 2012-11-21T17:46:20.340 に答える