PHP警告:implode()

时间:2018-01-09 22:14:56

标签: php arguments implode

我收到以下错误... 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();

1 个答案:

答案 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();