我无法使用ssh2_scp_recv()函数在文件名中复制带有空格的文件。这是实际存储在服务器中的文件名testfile-03_23_15 11 02 AM.csv。 我的代码在这里
if ($file == "testfile-03_23_15 11 02 AM.csv"){
if(!ssh2_scp_recv($connection,$remoteDir .$file, $localDir . $file)){
echo "Could not download: ", $remoteDir, $file, "\n";
}
}
如果你知道,请帮助我。 感谢。
答案 0 :(得分:1)
使用phpseclib:
<?php
include 'phpseclib/Net/SSH2.php';
include 'phpseclib/Net/SCP.php';
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('bad login');
}
$scp = new Net_SCP($ssh);
$scp->get('file name with spaces');
答案 1 :(得分:0)
试试这个:
ssh2_scp_recv($connection,"\"".$remote_file_name."\"",$local_path."/".$remote_file_name);
来源:php.net
它说:试图获取名称中包含空格的远程文件? 永远不要忘记在远程文件名中使用引号,但永远不要在本地名称中使用引号。