не удалось скопировать имя файла с пробелом в scp ssh

Я не смог скопировать файл с пробелами в имени файла с помощью функции 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

Решение

С помощью 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

Другие решения

Попробуй это:

 ssh2_scp_recv($connection,"\"".$remote_file_name."\"",$local_path."/".$remote_file_name);

Источник: php.net

Это говорит: Пытаетесь получить удаленный файл с пробелами в его имени?
Никогда не забывайте использовать кавычки в удаленном имени файла, но никогда в локальном.

0

По вопросам рекламы [email protected]