2016-07-19 4 views
0

Возможно, я вижу здесь что-то исключительное, но я использую yii2-flysystem вместе с Dropbox для чтения и записи файлов.Как принудительно загрузить файл через Flysystem?

я могу загрузить и записать их в Dropbox без проблем, но затем, при чтении, как это:

$file = Yii::$app->dropboxFs->read($fn); 

..all, что дает мне это строка (/ TMP/phpQkg8mJ).

Как я могу заставить загружать файл, который я читаю? Я не уверен, к чему относится это временное расположение файлов.

+0

является сторонним продлением? если да, укажите адрес. – marmeladze

+0

http://flysystem.thephpleague.com/ –

ответ

0

Попробуйте функцию 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; 
} 
+0

К сожалению file_exists ($ file) возвращает false ... если я читаю файл ($ file), я получаю «Нет такого файла или каталога», –

Смежные вопросы