我收到以下错误... HP警告:implode()[function.implode]:参数必须是数组
if (!empty($_FILES) && in_array('adjunto', array_keys($_FILES) ) ) {
$mail->AddAttachment( $_FILES['adjunto']['tmp_name'],$_FILES['adjunto']['name'] );
}
error_log(" Files ".implode("",array_keys($_FILES)).' '.implode( array_keys($_FILES['adjunto']) ).date('Y/m/d H:i:s')."\n",3,"./adjuntos/log.log");
$mail->Send();
答案 0 :(得分:0)
您的error_log()
来电不在if
区块内。因此,即使此密钥不存在,它也会尝试使用array_keys($_FILES['adjunto'])
。这将返回null
,然后您将尝试使用implode(null)
。
简单的解决方案是将error_log()
移到if
。
if (!empty($_FILES) && in_array('adjunto', array_keys($_FILES) ) ) {
$mail->AddAttachment( $_FILES['adjunto']['tmp_name'],$_FILES['adjunto']['name'] );
error_log(" Files ".implode("",array_keys($_FILES)).' '.implode( array_keys($_FILES['adjunto']) ).date('Y/m/d H:i:s')."\n",3,"./adjuntos/log.log");
}
$mail->Send();