Я не смог скопировать файл с пробелами в имени файла с помощью функции 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";
}
}
Пожалуйста, помогите мне, если вы знаете.
Благодарю.
С помощью 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');
Попробуй это:
ssh2_scp_recv($connection,"\"".$remote_file_name."\"",$local_path."/".$remote_file_name);
Источник: php.net
Это говорит: Пытаетесь получить удаленный файл с пробелами в его имени?
Никогда не забывайте использовать кавычки в удаленном имени файла, но никогда в локальном.