我正在尝试编写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确实正确。
答案 0 :(得分:1)
我解决了将其添加到else
中的问题:
$content = stream_get_contents($fp);
$sftp->put("/path/to/file.csv", $fp);