だから、基本的に私はという名前の文字列を持ってい$xmlString
ます。すでに整形です。この文字列を一時的に XML ファイル (正確にはOPML ) に保存し、電子メール アドレスに送信したいと思います。
メールを受信しました。拡張子が .opml のファイルですが、 の内容ではなく$xmlString
、ビューの html で埋められています。(ここで見ることができます)
これは私のコントローラーです:
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');
}
}
?>
元の文字列ではない理由を誰か説明してもらえますか?