问候!
我刚刚下载了CodeIgniter框架的2.0.1版本,我正在尝试编写自己的电子邮件控制器,如下所示:
<?php
class Email extends CI_Controller
{
function __construct() { parent::__construct(); }
function index() {
$this->load->library('email', $config);
$this->email->set_newline("\r\n");
$this->email->from('some.email@gmail.com', 'some.email.name');
$this->email->to('some.author.email.@gmail.com');
$this->email->subject('This is an email test');
$this->email->message('It is working!');
$path = $this->config->item('server_root');
$file = $path . '/attachments/readme.txt';
$this->email->attach($file);
if($this->email->send()) { echo 'Email sent.'; }
else { show_error($this->email->print_debugger()); }
}
}
如果我将浏览器指向“http://localhost/CodeIgniter/index.php/email”,我会收到此PHP错误消息
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: config
Filename: controllers/email.php
Line Number: 24
第24行指向我控制器中的这行代码 $ this-&gt; load-&gt; library('email',$ config);
尽管存在PHP错误,但电子邮件正在发送,并附带文件附件。
如何删除此PHP错误?我做错了什么?
答案 0 :(得分:3)
如消息所示,$ config未定义。您可以通过定义来修复它。
$config = Array();
答案 1 :(得分:3)
不,你不应该通过定义来修复它,这是不正确的。
您需要更改
$this->load->library('email', $config);
到
$this->load->library('email');
阵列不存在,因为您已在config / email.php文件中设置配置详细信息,因此不需要$ config数组AGAIN。 :)
答案 2 :(得分:0)
$ config = Array(); 我这样初始化它比你的数组是空的所以你没有必要 加载库配置属性时将自动配置定义数组。不需要传递$ config变量只做这个 $这个 - &GT;负载&GT;库( '电子邮件');它对你来说很好。