在WordPress后端下载自定义文件

时间:2014-09-08 作者:jogesh_pi

我尝试在“主题设置”部分实现一个自定义下载链接,用户可以在其中下载备份的自定义设置。我试过这个选项

if( isset($_GET[\'download\']) && $_GET[\'download\'] == true ) {

            $data = \'\';

            if( $upanel !== FALSE ) {
                $data .= serialize(
                        array(
                            \'theme\'=>\'theme_name\', 
                            \'data\'=>$upanel
                        )
                );
            }


            $filename = "theme_settings.txt";


            header("Content-Disposition: attachment; filename=".$filename);
            header("Content-Type: application/download");
            header("Pragma: no-cache");
            header("Expires: 0");

            echo $data;
            exit();
        }
此部分工作正常,数据下载正确,但它也会将标题html代码插入到文本文件中。就像所有的HTML代码一样。

这对我来说线索很少,如果不在我的文本文件中插入,它是如何出现的?如何从标题html代码中删除。

下载的示例:

</div>
            </div>
// Above is unexpected html code from starting
// into the theme_settings.txt file
//Data that i want only
 a:2:s:5:"theme";s:6:"theme_name";s:4:"data";a:52:s:9:"site_logo";s:0:"";s:12:"site_favicon";s:0:"";s:1

1 个回复
SO网友:jogesh_pi

现在它已经解决了,我所做的是,将我的下载脚本挂接到admin\\u init hook上,它的工作就是我想要的。

这是有用的链接Headers already sent error with CSV export plugin

结束

相关推荐

当尝试向我的登录页面添加一个css文件时,会出现“Headers Always Sent”?

我看过的每一篇关于这个主题的教程都已经过时了,所以我希望这里的人能帮助我。我想为我的wp登录设置样式。带有CSS文件的php页面。但我想以一种在Wordpress更新时不会被覆盖的方式来做。据我所知,根据我读到的图茨,在我的主题函数中使用函数添加它的最佳方式。php文件。不幸的是,人们建议使用的代码并不适合我。这是我添加的代码。<?php function custom_login() { echo \'<link rel=\"stylesheet\" href=\"wplog