想用php 下载sftp里的csv文件,代码有什么不对吗?

 <?php  
        $strServer = "****";  
        $strServerPort = ****;
        $strServerUsername = "****";
        $strServerPassword = "****";  
          
        //connect to server  
        $resConnection = @ssh2_connect($strServer, $strServerPort);  
          
        if(@ssh2_auth_password($resConnection, $strServerUsername, $strServerPassword)){  
            //init SFTP  
            $resSFTP = @ssh2_sftp($resConnection);  

            $filename = 'C:\Users\Administrator\Documents'.time().'.csv';  

            $strData = file_get_contents("ssh2.sftp://{$resSFTP}/winchannel/20161218-DSR.CSV");  
            file_put_contents($filename, $strData);  

        } else {  
            echo "Unable to authenticate on server";  
        }  
    ?> 

文件在sftp上面以这种形式储存
图片描述

阅读 3.1k
2 个回答

没有使用过ssh2_connect,将file_get_contents的url进行urlencode试试,然后输出下$strData

如果成功,该函数将返回写入文件中的字符数。如果失败,则返回 False

var_dump(file_put_contents($filename, $strData));
试试
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题