Писане на имейл списък (txt файл) с codeigniter за импортиране в mailchimp

Искам да генерирам имейл списък от всички потребители в моята база данни.

Следвах това ръководство http://www.codeigniter.com/userguide2/helpers/file_helper.html

Също така опитах това: PHP Записване на низ на нов ред за първи път, а не в края на файла

Вече имам потребители от моята база данни, това е, което имам в моя контролер:

public function maak_lijst_bezoekers(){

    $this->load->helper('file');
    $this->load->model("Lijst_bezoekers_model");
    $data = $this->Lijst_bezoekers_model->get_all_bezoekers();

    foreach($data as $d){
        if ( ! write_file('./uploads/lijst_bezoekers_mails/lijst_mails.txt', $d['naam']." ".$d['voornaam']." ".$d['email']."\r\n"))
        {
            echo 'Unable to write the file';
        }
        else
        {
            echo 'File written!';
        }
    }

}

Функцията get_all_bezoekers връща масив като този:

 return $bezoekers->result_array();

Имам 2 потребители в тази база данни, но само един ред и един потребител е в текстовия файл.

Може ли някой да ми даде няколко съвета как да събера цял списък в txt файл с codeigniter, за да мога да го импортирам в mailchimp?


person Marijn Rutten    schedule 07.05.2015    source източник


Отговори (1)


Опитайте да промените

if ( ! write_file('./uploads/lijst_bezoekers_mails/lijst_mails.txt', $d['naam']." ".$d['voornaam']." ".$d['email']."\r\n"))

to

if ( ! write_file("./uploads/lijst_bezoekers_mails/lijst_mails.txt", $d['naam']." ".$d['voornaam']." ".$d['email']."\r\n", "a+"))

Обърнете внимание на "a+" като последния параметър на функцията write_file. Моля, вижте документацията на Codeigniter и Документация за PHP fopen - разделът за режими.

Без тази промяна на режима вие по същество започвате да пишете файла от нулата при всяка итерация, вместо да го добавяте.

person Victor Avasiloaei    schedule 08.05.2015
comment
Хей, благодаря ви за отговора, помогна ми. Гледах документацията на PHP за секцията за режими преди, но предполагам, че не разбрах как работи. - person Marijn Rutten; 09.05.2015