php标题打印标记页面

时间:2017-10-24 12:32:15

标签: php csv

我有这个代码在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的所有内容?

感谢进步

1 个答案:

答案 0 :(得分:0)

如果我理解正确 - 我认为问题在于,当您已经输出HTML(有意或无意)时,您正在使用已发布的代码调用函数,此时您应该做的是链接到单独的PHP脚本包含您的代码,或者在调用代码示例之前不输出。

当您在代码中声明这些标头时,您告诉浏览器该内容是.csv,但您在HTML输出的中间输出(由于某些先前的输出,可能已经发送了HTML标头)。

相反,您可以将代码放在单独的PHP脚本中,然后从其他输出的HTML页面创建指向它的链接。这意味着当您的代码加载时,csv标头将仅使用正确的内容发送。