phpseclib写空文件

问题描述 投票:0回答:1

我正在尝试编写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标头),它确实是正确的,它具有所有数据。

php phpseclib
1个回答
1
投票

我解决了在我的else中添加这个:

$content = stream_get_contents($fp);
$sftp->put("/path/to/file.csv", $fp);
© www.soinside.com 2019 - 2024. All rights reserved.