我目前正在将一些数据写入SplFileObject
这样的:
$fileObj = new SplFileObject('php://text/plain,', "w+");
foreach($data as $row) {
$fileObj->fputcsv($row);
}
现在,我想将整个输出(字符串)转储到一个变量中。
我知道SplFileObject::fgets
逐行获取输出(这需要一个循环),但我想一口气得到它,理想情况下是这样的:
$fileObj->rewind();
$output = $fileObj->fpassthru();
但是,这不起作用,因为它只是打印到标准输出。
对于我想要实现的目标,有一个解决方案stream_get_contents()
:
但是,该方法要求您可以直接访问文件句柄。
SplFileObject
将文件句柄隐藏在私有属性中,因此无法访问。
还有什么我可以尝试的吗?