as2 / flash :: как принудительно загрузить файл через PHP - PullRequest
0 голосов
/ 25 октября 2011

Я пытаюсь принудительно загрузить файл через PHP с помощью

$ctype="application/zip";
header("Content-Type: $ctype");
header("Content-Length: ".filesize($filepath));
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");  //header("Cache-Control: public"); 
header("Pragma: public");
header("Content-Disposition: attachment; filename=".$filename);
// header("Location: $filepath"); // edited: removed
readfile($filepath);

, но это не работает.

с помощью firebug Я вижу информацию об измененном заголовке, но нет файла сохранения.появляется диалоговое окно ...

Ответы [ 2 ]

4 голосов
/ 25 октября 2011

Вам необходимо удалить

header("Location: $filepath");

Который в основном перенаправляет вас на конкретный путь, а не читает его содержимое.

1 голос
/ 26 октября 2011

sendAndLoad() «съест» ваш ответ и не приведет к загрузке, что полезно, если вы пытаетесь загрузить данные. Однако в вашем случае вам нужно использовать getURL(), поскольку вы хотите, чтобы браузер обрабатывал ответ, а не флэш.

...