【发布时间】:2013-06-24 18:46:11
【问题描述】:
所以,基本上我有一个名为$xmlString 的字符串。它已经形成了良好的状态。我想将此字符串临时保存到 XML 文件中(准确地说:OPML)并将其发送到电子邮件地址。
收到邮件,是一个扩展名为.opml的文件,但是里面不是$xmlString的内容,而是视图的html。 (你可以看看here)
这是我的控制器:
App::uses('AppController', 'Controller');
App::uses('CakeEmail', 'Network/Email');
App::uses('File', 'Utility');
class UsersController extends AppController {
public function beforeFilter() {
parent::beforeFilter();
// Set XML
if ($this->RequestHandler->isXml()) {
$this->RequestHandler->setContent('xml');
}
}
public function sendOpml($xmlString) {
$this->autoRender=false;
$xmlString=$this->render();
//here is something wrong...
file_put_contents(TMP.'podcasts.opml', $xmlString);
$Email = new CakeEmail('default');
$Email->from(array('my@mailadress.com' => 'Podcaster'));
...
$Email->attachments(array(
'podcasts.opml' => array(
'file' => TMP.'podcasts.opml',
'mimetype' => 'text/x-opml')));
$Email->send('My message');
}
}
?>
有人能解释一下为什么它不是原来的字符串吗?
【问题讨论】:
-
你能解释一下你为什么要这么做
$xmlString = $this->render();??看起来真的很奇怪。你不是说字符串已经是良构了吗?
标签: xml file email cakephp opml