在新的选项卡/窗口中下载该文件
为Joomla编写了自定义模块。用户在提交的文本中输入一个文件名,并且应下载具有输入值的PDF文件。但是,当单击时,该页面被重定向到主页。这是代码
$ file = $ _post ['PostText']。'。'。'pdf';
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;
}
尝试添加ob_flush((作为Asker建议的之一,但没有好处。该代码可作为单独的PHP文件完美工作。
尝试以下
$app = JFactory::getApplication();
$file = $app->input->get('posttext') . '.pdf';
if (JFile::exists($file)) {
// File headers
header("Content-type: application/pdf");
header("Content-Disposition: attachment");
// File contents.
readfile($file);
}
如果您仍然有问题,则可以检查文件是否存在于Joomla中,并使用window.open()