Загрузка / выполнение данных из переменной PHP

#php

#php

Вопрос:

Я пытаюсь загрузить вывод буфера PHP на стороне клиента. Я не заинтересован в записи выходного содержимого в файл на сервере, а затем в разрешении загрузки. Я проверил вывод своей переменной, распечатав ее в браузере. Поскольку буфер должен быть загружен на стороне клиента в виде файла, где я должен указать имя файла?

 <?php
  $file=$_POST['file'];
  header('Content-Description: File Transfer');
  header('Content-Type: application/x-java-jnlp-file');  
  ob_clean();
  flush();
  readfile($file);
 ?>
  

~

Комментарии:

1. RTFM: php.net/readfile вам, вероятно, просто нужно echo $file .

2. Вам также необходимо знать о $_FILES суперглобальном и обработке загрузки файлов с использованием этого метода

Ответ №1:

Вам понадобится заголовок «Content-Disposition»:

 header( 'Content-Disposition: attachment; filename="downloaded.pdf"' );
  

Полный пример:http://www.php.net/manual/en/function .заголовок.php#пример-4581

Ответ №2:

Просто используйте этот метод

 <?php
$file = 'monkey.gif';

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));
    ob_clean();
    flush();
    readfile($file);
    exit;
}
?>
  

Нужна дополнительная помощьhttp://www.php.net/manual/en/function.readfile.php