PHP邮件程序附件验证

时间:2014-12-23 18:18:42

标签: php phpmailer

不应该这样吗?

 if (
      ($_FILES["logo"]["type"] == "application/png") 
      || ($_FILES["logo"]["type"] == "application/jpg") 
      || ($_FILES["logo"]["type"] == "application/zip") 
      || ($_FILES["logo"]["type"] == "application/jpeg")                 
      && ($_FILES["logo"]["type"] > 0)  
    ){

      $mail->AddAttachment($_FILES['logo']['tmp_name'], $_FILES['logo']['name']); 

     } 

谁能告诉我发生了什么事?

如果输入name="logo"是png,jpg,jpeg或zip类型的文件,并且至少有一个,则发送到邮件附件

我已经在Stack Overflow中检查了所有内容,但没有发现任何内容。我发现的所有内容都是关于如何向我自己发送已知图像的基本示例(非常实用)。

1 个答案:

答案 0 :(得分:1)

据我所知,至少有两个问题:

  • 您的AND条件永远不会被使用,因为您在同一级别上有很多OR条件;
  • 您使用type,我认为您需要size

您可能需要以下内容:

if (
      (
             ($_FILES["logo"]["type"] == "application/png") 
          || ($_FILES["logo"]["type"] == "application/jpg") 
          || ($_FILES["logo"]["type"] == "application/zip") 
          || ($_FILES["logo"]["type"] == "application/jpeg")
      )
      && ($_FILES["logo"]["size"] > 0)  
   ) {