CSV Экспорт из Wordpress | Исходный код страницы в файле? - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь создать CSV-файл из базы данных в WordPress. Сгенерированный 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);


    ?>

отредактировано: Вот так выглядит csv-файл

отредактировано: Снимок экрана решения от Aniket patel

1 Ответ

0 голосов
/ 31 августа 2018

Пожалуйста, используйте код ниже, я думаю, что он будет работать для вас.

    <?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;
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...