如何强制下载Joomla 3中的文件



为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()

在新的选项卡/窗口中下载该文件

相关内容

  • 没有找到相关文章

最新更新