将表单文件附加到电子邮件,Codeigniter

问题描述 投票:0回答:2

我需要从用户那里获取文件并将其附加到邮件而不将其保存在服务器上。 Codeigniter中是否可以将上传的文件存储在变量中,然后将其附加到Codeigniter电子邮件库的电子邮件中?怎么实现呢?在CI中,我只发现将上传文件存储在硬盘驱动器而不是变量中的类。

php codeigniter email file-upload
2个回答
4
投票

首先,您必须将文件上传到服务器目录,然后将文件的名称和路径传递给电子邮件附加行,即,

    **$this->email->attach('/path/to/file.ext');**

请参阅以下代码了解上传课程和电子邮件库。

    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '100';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';

    $this->load->library('upload', $config);

    if ( ! $this->upload->do_upload())
    {
        $error = array('error' => $this->upload->display_errors());

    }
    else
    {
        $data = array('upload_data' => $this->upload->data());

    $this->load->library('email');

    $this->email->from('[email protected]', 'Your Name');
    $this->email->to('[email protected]');
    $this->email->cc('[email protected]');
    $this->email->bcc('[email protected]');

    $this->email->subject('Email Test');
    $this->email->attach('/path/to/file.ext');
    $this->email->message('Testing the email class.');

    $this->email->send();

    }

-1
投票

试试这个吧

https://www.codeigniter.com/user_guide/libraries/email.html

它运作良好。我在最近的项目中试过这个

© www.soinside.com 2019 - 2024. All rights reserved.