2013-05-21 4 views
0

Привет, я пытаюсь захватить все письма из базы данных, а затем вывести их в текстовый файл с запятой. Вот то, что я сделал, но не работает:Laravel 3 create Text (CSV) file

public function get_textfile() { 

$emails = Staff::get('email'); 

header("Content-type: text/csv"); 
header("Cache-Control: no-store, no-cache"); 
header('Content-Disposition: attachment; filename="filename.txt"'); 

$stream = fopen("php://output", 'w'); 

foreach($emails as $email) { 
fputcsv($stream, $email, ','); 
} 

fclose($outstream);  
} 

return (something)? 

получаю это: Ошибка 6 (нетто :: ERR_FILE_NOT_FOUND): Файл или папка не может быть найден.

Это мой маршрут:

Route::get('textfile', array('as' => 'textfile','uses' => '[email protected]')); 

ответ

0

попробовать file_put_contents($filename, implode(',', Staff::get('email')));

0

Соберите все ваши данные в строку, а затем вывести его следующим образом:

$data = ''; 
foreach ($emails as $email) 
{ 
    // If you want 1 email per line 
    $data .= '"'.$email.'"'.PHP_EOL; 

    // If you want all emails on 1 line 
    $data .= '"'.$email.'",'; 
} 

header('Content-type: text/csv'); 
header('Content-Disposition: attachment; filename=My Cool File.csv'); 
header('Pragma: no-cache'); 
header('Expires: 0'); 

echo $data;