如果我使用本地文件名,则文件名会被正确复制,但是,如果将本地文件名留空,则应该收到文件的内容。
示例代码:
$stat = $sftp->get('xmlfile.cml','xmlfile.xml'); 打印“$stat
”;
(这很好用)
$xmlcontent = $sftp->get('cp1301080801_status.xml'); print "文件内容 = $xmlcontent<>";
*(这打印的内容看起来更像是文件的统计信息而不是内容。它以日期开头(这是文件的 modofoed 时间戳,后面是一些数字和 Web 服务器的名称,用 a 重复大约 10 次)它后面的数字每次都会增加 - 就像端口号或字节偏移量)*
如果传输后我不必打开本地文件,事情会变得更容易。有人知道这是怎么回事吗?
您可以发布日志副本吗?以下是如何获取它们的示例:
http://phpseclib.sourceforge.net/ssh/examples.html#logging
注意 Define() 和 $ssh->getLog() 内容。
至于您遇到的具体问题... print "$stat" 是做什么的?它应该打印“1”。
此外,fwiw,您在示例中打开了两个不同的文件。我最好的猜测是,atm,您认为您正在打开相同的文件并期望内容相同,而实际上它们应该不同,并且您通过 $sftp->get 得到的结果事实上,() 是正确的。
日志会确切地告诉我们。