从Wordpress导出CSV |文件中页面的源代码?

时间:2018-08-31 10:29:43

标签: mysql wordpress csv export

我正在尝试从Wordpress中的数据库生成csv文件。 生成的CSV文件包含生成的数据库数组和页面的HTML源代码。

有什么想法可以摆脱HTML代码吗? 使用ob_start()/ ob_end_clean();的策略;似乎不起作用。

感谢您的帮助。

<?php

    ob_start(); 

        $filename = 'provider.csv';
        $headers = array('ID', 'Name', 'Location');

        $handle = fopen('php://memory', 'w'); 
        fputcsv($handle, $headers, ',', '"');

        $results = $wpdb->get_results("SELECT * FROM provider");

        foreach($results as $results1)
                {
            $row = array(
                $results1->provider_id,
                $results1->provider_name,
                $results1->provider_location
            );

            fputcsv($handle, $row, ',', '"');
        }

    ob_end_clean(); 

    fseek($handle, 0);

    header('Content-Type: application/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '";');

    fpassthru($handle);

    fclose($handle);


    ?>

编辑:This is how the csv-file looks like

编辑:Screenshot of the solution from aniket patel

1 个答案:

答案 0 :(得分:0)

请使用以下代码,我认为它将为您工作。

    <?php
    global $wpdb;
    $filename = 'provider.csv';
    $headers = array('ID', 'Name', 'Location');

    $handle = fopen('php://output', 'w'); 
    fputcsv($handle, $headers, ',', '"');

    $results = $wpdb->get_results("SELECT * FROM provider");

    foreach($results as $results1)
            {
        $row = array(
            $results1->provider_id,
            $results1->provider_name,
            $results1->provider_location
        );

        fputcsv($handle, $row, ',', '"');
    }

    header('Content-Type: application/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '";');
    exit;
    ?>