0

我正在尝试使用 Codeigniter 创建一个联系表单,该表单将发送带有文件附件的电子邮件。现在发送电子邮件时,我得到的只是上传文件的名称,而不是实际的附件。有人可以帮我吗?

这是我正在使用的代码:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class sendmail_contact extends CI_Model {

function __construct()
{

    parent::__construct();

}

function send()
{

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

    $now = time();
    $contact_date = unix_to_human($now); // U.S. time, no seconds

    $this->load->library('email'); 
    $this->email->set_newline("\r\n");

    $name = $this->input->post('name', TRUE);
    $file = $this->input->post('file', TRUE);


    $this->email->from($email);
    $this->email->to('test@gmail.com'); 

    $this->email->subject('Subject');
    $this->email->message("Email" . $name . "\r\n" . $file); 

    $this->email->send();


}
4

2 回答 2

1

首先,将附件保存到存储中。

请参阅http://ellislab.com/codeigniter/user-guide/libraries/file_uploading.html

然后,保存用户上传的文件后,获取该文件的名称并使用

$this->email->attach($name);

它会将文件附加到您要发送的电子邮件中。

于 2013-10-25T22:08:20.243 回答
1

应该是文件的$name完整路径,您可以通过回显找到系统的根目录

echo $this->config->item('server_root');

你可以像这样构建它:

$this->config->item('server_root')."/path to needed folder/"

您的文件的路径将是:

$name = $this->config->item('server_root')."/path to needed folder/"."file´s name";

如果你需要构建一个相对路径,你可以在这里咨询如何做链接

于 2014-12-04T19:06:57.177 回答