2015-02-12 2 views
0

Ниже работает просто отличноPHP Еореп с ssh2.sftp не удается с помощью специальных символов

$stream = fopen($connection_string . "/var/tmp/test.test", 'r'); 

Но

$stream = fopen($connection_string . "/var/tmp/test.#test", 'r'); 

сбой с сообщением об ошибке: Внимание: Еореп(): Не удается open ssh2.sftp: // Идентификатор ресурса # 108/var/tmp/test. # тест на удаленном хосте в ...

test.test и test # test работают нормально, только комбинация теста. # test не работает.

ssh2_scp_recv() обрабатывает тест. # Тест просто отлично.

CentOS релиз 5.8 (Final) PHP 5.2.17

Является ли это PHP ошибка? Или требуется специальное экранирование?

ответ

2

было бы интересно узнать, как хорошо работает с phpseclib. например.

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

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

// outputs the contents of filename.remote to the screen 
echo $sftp->get('filename.remote'); 
// copies filename.remote to filename.local from the SFTP server 
$sftp->get('filename.remote', 'filename.local'); 
?> 

ЦСИ: http://phpseclib.sourceforge.net/sftp/examples.html#get

если phpseclib не работает, вы могли бы включить ведение журнала, с phpseclib, и посмотрим, что говорят журналы phpseclib. например. сделайте define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX); после того, как вы включите Net/SFTP.php, а затем выполните $sftp->getLog() после того, как вы попробуете загрузить файл.

+0

Да, phpseclib работает нормально. Благодарю. – Arunas

Смежные вопросы