2015-02-24 2 views
0

Мне нужно загрузить файл с сервера Sftp на локальный компьютер. Я создаю соединение, используя phpseclib. Он связан с сервером Sftp. Но мне нужно загрузить файл с сервера на локальный компьютер. Как я могу это сделать. Я использую этот код для загрузки dummy.txt с удаленного сервера на локальный компьютер. Пожалуйста, помогитеКак загрузить файл с сервера Sftp на локальный компьютер

public function startProcess() { 

    $sftp = new Net_SFTP('www.domain.com'); 

    if (!$sftp->login('username', 'password')) { 
     exit('Login Failed'); 
    } 
    else { 
     echo "connected"; 
    } 

    echo $sftp->pwd() . "\r\n"; 
    downloadfiles('/path to server/dummy.txt');  
} 

public function downloadfiles($filename) 
{ 
    if($filename) 
    { 
     $remote=file_get_contents($filename); 
     $local_file_path='localpath/adobe.txt'; 
     file_put_contents($local_file_path,$remote); 
    } 
    else 
    { 
     echo "error download files"; 
    } 

} 

Пожалуйста, помогите мне разыскать его.

+1

О, нет! Ваш ключ 'Enter' застрял! –

+0

Является ли локальная машина запущенной php-скриптом или это на отдельном сервере? – jeroen

+0

Это локальная машина. – Rupzz

ответ

1

Ну, вы не делаете $sftp->get() в любом месте, для одного.

Ниже приведен переработанный вариант кода, чтобы разрешить загрузку:

global $sftp; 

public function startProcess() { 

    $sftp = new Net_SFTP('www.domain.com'); 

    if (!$sftp->login('username', 'password')) { 
     exit('Login Failed'); 
    } 
    else { 
     echo "connected"; 
    } 

    echo $sftp->pwd() . "\r\n"; 
    downloadfiles('/path to server/dummy.txt');  
} 

public function downloadfiles($filename) 
{ 
    if($filename) 
    { 
     $local_file_path='localpath/adobe.txt'; 
     $sftp->get($filename, $local_file_path); 
    } 
    else 
    { 
     echo "error download files"; 
    } 

} 

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

  • Нет связанных вопросов^_^