Forms Magento-以联系人形式上载文件
我必须在联系人表单中创建一个新字段以上载文件 我跟随图坦卡蒙,我就是这么做的: 在form.phtml中:Forms Magento-以联系人形式上载文件,forms,magento,file-upload,contact-form,Forms,Magento,File Upload,Contact Form,我必须在联系人表单中创建一个新字段以上载文件 我跟随图坦卡蒙,我就是这么做的: 在form.phtml中: <form action="<?php echo $this->getFormAction(); ?>" id="contactForm" method="post" enctype="multipart/form-data"> 我已尝试在本地安装中重新创建您的场景,并使用我的一个工作模块更改了您的Concoller文件上载程序代码 /***********
<form action="<?php echo $this->getFormAction(); ?>" id="contactForm" method="post" enctype="multipart/form-data">
我已尝试在本地安装中重新创建您的场景,并使用我的一个工作模块更改了您的Concoller文件上载程序代码
/**************************************************************/
$fileName = '';
if (isset($_FILES['attachment']['name']) && $_FILES['attachment']['name'] != '') {
try {
$uploader = new Varien_File_Uploader('attachment');
$uploader->setAllowedExtensions(array('doc', 'docx','pdf'));
$uploader->setAllowRenameFiles(true);
$uploader->setFilesDispersion(false);
$path = Mage::getBaseDir('media') . DS . 'contacts' . DS ;
if(!is_dir($path)){
mkdir($path, 0777, true);
}
$uploader->save($path, $_FILES['attachment']['contacts'] );
$newFilename = $uploader->getUploadedFileName();
} catch (Exception $e) {
$error = true;
}
}
/**************************************************************/
这是工作100%正确,我已经测试了这个pdf也
请尝试更换一次。更换
if(file_exists($attachmentFilePath)){
用这个
if(file_exists($attachmentFilePath) && is_file($attachmentFilePath)){
因为file_exists如果文件或目录存在,则结果为TRUE。我发送的电子邮件将发送一个空白的“邮件附件”文件,因为我的联系人表单上的文件上载输入是可选的。在代码中,您可以看到一个部分写了两次,这是复制/粘贴的错误,我在原始文件中更改了它;)谢谢你的回答。我试图将您的附件部件代码粘贴到我的indexcontroller中,但我的上载仍然无法工作。我收到带有一个名为“noname”0位的附件的邮件…klipse,请尝试退出代码并检查是否有任何方法给出错误。。例如:检查echo$newFilename;模具();保存方法后。。。它应该工作得很好。。在我的localI上,使用echo$newFilename进行了检查;模具();jsut低于$uploader->save($path,$_文件['attachment']['contacts']);文件已正确上载到目录中。我收到一个白色的空白屏幕。如果我在$newFilename=$uploader->getUploadedFileName()之后退出代码;上载失败。。。
if(file_exists($attachmentFilePath)){
if(file_exists($attachmentFilePath) && is_file($attachmentFilePath)){