Я на самом деле только что сделал это ... Он получил немного больше, чем вам нужно, но он делает именно это. Записывает файл во временный каталог, а затем отправляет его по электронной почте.
function send_weekly_report()
{
$server_ip = $_SERVER['REMOTE_ADDR'];
if($server_ip != '127.1.1.1')
{
$this->load->model('admin_model');
$this->load->helper('csv_helper');
$this->load->helper('file');
//create CSV Array
$header = array("Sales Rep", "Client", "Action Taken", "Won or Lost", "Action Why", "Current Vendor", "Comp. Cal Program", "Comp. Cal Date", "Notes", "Time");
$data = $this->admin_model->load_week();
$output = array_merge(array($header), $data);
$csv = array_to_csv($output);
$filename = '/tmp/'.time().".csv";
if ( ! write_file($filename, $csv))
{
$this->load->library('email');
$this->email->from('donotreply@email', 'Admin');
$this->email->to('peter@email.com');
$this->email->subject('Weekly Sales Test FAIL!!!!!');
$this->email->message('Weekly Report Failed!');
$this->email->send();
}
else
{
//send email
$this->load->library('email');
$this->email->from('donotreply@email', 'Admin');
$this->email->to('peter@email.com');
$this->email->subject('Weekly Sales Test');
$this->email->message('Please find the attached report.');
$this->email->attach($filename);
$this->email->send();
//echo $this->email->print_debugger();
}
}
}