phpseclib写入空文件

时间:2018-09-05 12:16:06

标签: php phpseclib

我正在尝试编写CSV,然后使用phpseclib通过SFTP上传。 这是我的代码:

$fp = fopen('php://temp', 'r+');
fputcsv($fp, array('url', 'title'), ";");
foreach ($json as $fields) {
    fputcsv($fp, $fields, ";");
}
rewind($fp);
$sftp = new Net_SFTP('host');
if (!$sftp->login('username', 'password')) {
    exit('Login Failed');
}
else {
    $sftp->put("/path/to/file.csv", $fp);
}
fclose($fp);

该文件已正确上传到我的服务器上,但为空(0字节)。我可以改变什么? 如果我从浏览器下载它(更改PHP标头),它具有所有数据,则CSV确实正确。

1 个答案:

答案 0 :(得分:1)

我解决了将其添加到else中的问题:

$content = stream_get_contents($fp);
$sftp->put("/path/to/file.csv", $fp);