我有这个代码在php中创建一个csv并且可以下载后:
<?php
$cat_array = array();
$args = array(
'post_type' => 'post',
'posts_per_page' => 9,
'ignore_sticky_posts' => 1
);
$my_query = null;
$my_query = new WP_Query($args);
if ($my_query->have_posts())
{
while ($my_query->have_posts()):
$my_query->the_post();
$cat_args = array(
'orderby' => 'none'
);
$cats = wp_get_post_terms($my_query->post->ID, 'category', $cat_args);
foreach($cats as $cat)
{
$cat_array[$cat->term_id] = $cat->term_id;
}
endwhile;
wp_reset_postdata();
}
if ($cat_array)
{
foreach($cat_array as $cat)
{
$category = get_term_by('ID', $cat, 'category');
$slug = get_term_link($category, 'category');
$id = $category->term_id;
$valore = "category_" . $id;
$colore = get_field('colore_categoria', $valore);
$immagine = get_field('immagine_ispirazione', $valore);
$testo_box = get_field('testo_box', $valore);
?>
<div class="colonna clearfix">
<a href="<?php echo $slug;?>">
<div class="box">
<img src="<?php echo $immagine?>" alt="italia">
<div class="overlay">
<p><?php echo $testo_box;?></p>
</div>
<div class="titolobox" style="background-color:<?php echo $colore;?>">
<h2><?php echo $category->name;?></h2>
</div>
</a>
</div>
</div>
<?php
}
}
wp_reset_query();
?>
但是,在下载之后,当我打开文件时,我看到的是带有标签的页面内容,以及csv内容。 如何在没有标签页面的情况下查看csv的所有内容?
感谢进步
答案 0 :(得分:0)
如果我理解正确 - 我认为问题在于,当您已经输出HTML(有意或无意)时,您正在使用已发布的代码调用函数,此时您应该做的是链接到单独的PHP脚本包含您的代码,或者在调用代码示例之前不输出。
当您在代码中声明这些标头时,您告诉浏览器该内容是.csv,但您在HTML输出的中间输出(由于某些先前的输出,可能已经发送了HTML标头)。
相反,您可以将代码放在单独的PHP脚本中,然后从其他输出的HTML页面创建指向它的链接。这意味着当您的代码加载时,csv标头将仅使用正确的内容发送。