gpt4 book ai didi

wordpress - 将 http header 添加到 wordpress

转载 作者:行者123 更新时间:2023-12-04 16:31:54 25 4
gpt4 key购买 nike

我正在尝试按需构建自定义 zip 文件,并且发现了一些似乎可以正常工作的代码
http://www.9lessons.info/2012/06/creating-zip-file-with-php.html

我已经在我的 wordpress 模板中插入了代码,唯一的问题是 header()
必须在加载模板之前发送

我怎么能用wordpress做到这一点?

这是带有标题的代码

$zip = new ZipArchive();            // Load zip library 
$zip_name = time().".zip"; // Zip name
if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE){ // Opening zip file to load files
$error .= "* Sorry ZIP creation failed at this time<br/>";
}
foreach($post['files'] as $file){
$zip->addFile($file_folder.$file); // Adding files into zip
}
$zip->close();
if(file_exists($zip_name)){
// push to download the zip
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename="'.$zip_name.'"');
readfile($zip_name);
// remove zip file is exists in temp path
unlink($zip_name);
}

最佳答案

Wordpress 对此有一个钩子(Hook)。将标题添加到 send_headers通过调用 add_action Hook 功能。

$zip = new ZipArchive();
$zip_name = time().".zip";
if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE){
$error .= "* Sorry ZIP creation failed at this time<br/>";
}
foreach($post['files'] as $file) {
$zip->addFile($file_folder.$file);
}
$zip->close();
if(file_exists($zip_name)){
add_action( 'send_headers', 'my_headers' );
readfile($zip_name);
// put this somewhere or return it
// so it can be retrieved later, otherwise
// it might print before your headers
// are sent
unlink($zip_name);
}

function my_headers() {
header('Content-type: application/zip');
header('Content-Disposition: attachment;
}

这一切都需要在您的 functions.php 中加入一个函数。主题文件夹中的文件

关于wordpress - 将 http header 添加到 wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13517548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com