我是Yii的新手。我正在使用YiiMail扩展程序发送邮件。我可以发送邮件但无法发送附件。
我有以下代码,但现在知道“tempName”到底意味着什么?
myController的 -
$uploadedFile = CUploadedFile::getInstanceByName('filename'); // get the CUploadedFile
$uploadedFileName = $uploadedFile->tempName; // will be something like 'myfile.jpg'
$swiftAttachment = Swift_Attachment::fromPath($uploadedFile); // create a Swift Attachment
$this->email->attach($swiftAttachment); // now attach the correct type
答案 0 :(得分:2)
如果您上传文件(例如c:\path\file\myfile.jpg
),则if临时存储在具有临时名称的临时文件夹中的服务器上(例如/tmp/zxhjkqwf.tmp
)。
CUploadedFile包装了访问和操作文件所需的所有函数。
因此tempname
将成为服务器上文件的路径。
我想你应该尝试改变你的代码lioke this:
$uploadedFile = CUploadedFile::getInstanceByName('filename'); // get the CUploadedFile
$uploadedFileName = $uploadedFile->tempName; // will be something like 'myfile.jpg'
$swiftAttachment = Swift_Attachment::fromPath($uploadedFileName); // create a Swift Attachment from the temporary file
$this->email->attach($swiftAttachment); // now attach the correct type
中的更多信息