0

我收到错误消息,使用下面的 infofile 脚本来验证上传的文件是否为 pdf 并通过 phpmailer 发送。

第 66 行是“默认:”所在的位置。如果我删除默认值,下一行将变为错误,依此类推。不知道脚本有什么问题。有人可以帮忙吗。谢谢。

解析错误:语法错误,第 66 行 /test.php 中的意外“默认”(T_DEFAULT)

if ($_FILES['upload']['error'] !== UPLOAD_ERR_OK) {
die("Upload failed" . $_FILES['upload']['error']);
}
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $_FILES['upload']['tmp_name']);
$ok = false;
switch($mime) {
case 'application/pdf'
default:
   die("not permitted file type");
 $ok = true;
    foreach($_FILES['upload']['tmp_name'] as $uploadfile) 
    $mail->AddAttachment($uploadfile);
} 
4

1 回答 1

1

您在第一个 (non-default) 之后错过了冒号case。应该:

switch($mime) {
case 'application/pdf':
//                    ^
default:

另外:我不确定在第一种情况下你想发生什么,但如果这是允许的情况,你也应该break在这种default情况下使用。否则解释器也会执行它(或它之后的任何其他情况)。

于 2013-03-26T20:42:13.620 回答