0

正如标题所说,我想从表单中提取一个输入来更改附件的名称。

当我把这个:

->attach(Swift_Attachment::newInstance($pdf_content, '$post->name', 'application/pdf'))

它不起作用,但如果我这样叫出这个名字,它就会起作用:

->attach(Swift_Attachment::newInstance($pdf_content, 'design.pdf', 'application/pdf'))

有任何想法吗?

4

1 回答 1

0

很可能a) $post->name不是你认为的那样,并且b)单引号把你弄乱了。

首先,验证它$post->name是一个字符串/文件名(例如design.pdf):

echo $post->name;
exit();

然后,一旦你确定它是你所期望的,在将它传递给函数时不要使用单引号:

->attach(Swift_Attachment::newInstance($pdf_content, $post->name, 'application/pdf'))

单引号括起来的字符串由 PHP 字面意思表示,因此您作为文件名传递的所有$post->name内容都是. 如果您希望将字符串解析为包含变量,请使用双引号代替 ( ) 或根本不使用引号(因为那里没有要传递的其他内容)。$post->name..., "$post->name", ...

于 2012-08-09T20:12:36.347 回答