我可能在这里遗漏了一些特别明显的东西,但我正在使用 yii2-flysystem 和 Dropbox 来读取和写入文件。
我可以毫无问题地将它们上传并写入 Dropbox,但是,当这样阅读时:
$file = Yii::$app->dropboxFs->read($fn);
..所有给我的都是一个字符串(/tmp/phpQkg8mJ)。
我实际上如何强制下载我正在阅读的文件?我不确定该临时文件位置实际上与什么有关。
尝试函数readfile()。根据示例,您的代码应如下所示:
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}