yılında devam ettirilebilir İndir Uygulama:nasıl bir dosyayı zorla indirmek için <a href="http://silex.sensiolabs.org/doc/usage.html#sending-a-file" rel="nofollow noreferrer">silex</a> yılında Silex'deki
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;
$app = new Silex\Application();
// Url can be http://pathtomysilexapp.com/download
$app->get('/download', function (Request $request) use ($app) {
$file = '/path/to/download.zip';
if(!file_exists($file)){
return new Response('File not found.', 404);
}
return $app->sendFile($file)->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, 'download.zip');
});
$app->run();
Bu daha küçük dosyalar için iyi çalışır. Ancak kullanım durumum, bir indirme yöneticisi tarafından duraklatılabilen/yeniden başlatılabilen büyük bir indirme gerektirir.
Dosya streaming ile ilgili bir örnek var, ancak aradığım şey gibi görünmüyor. Biri bunu daha önce mi yaptı? Ben sadece answer from here kullanabilir ve onunla yapılabilir. Ama bunu yapmanın silexy yolu varsa güzel olurdu.
Silex HTTP'nin çekirdeği Symphony bileşenlerine dayanıyorsa, sorunuzu okuyucunun sayısını genişletmek için [tag: symfony] 'i eklemelisiniz – Fractaliste
Bir şey buldum (Symfony Components/Silex ile yazılmadım) ama işe yaramış gibi görünüyor .. https: //gist.github.com/kosinix/4cf0d432638817888149 – ohartl
@ohartl - Bu gist :-) yazdım :-) – kosinix