我正在尝试编写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标头),它确实是正确的,它具有所有数据。
我解决了在我的else
中添加这个:
$content = stream_get_contents($fp);
$sftp->put("/path/to/file.csv", $fp);