批改状态:合格
老师批语:抛出异常后,应该终止代码, 添加上die/exit
遇到的问题如下,请老师指导下
1、将一个错误信息抛出时,可以正常显示
2、当添加第2个错误信息时,显示异常,不知道这种方式问题出在哪

<?php
$fileType = ['jpg', 'jpeg', 'png', 'gif'];
$fileSize = 28;
// 文件上传到服务器上的目录
$filePath = '/uploads/';
// 原始文件名称
$fileName = $_FILES['my_file']['name'];
// 临时文件名
$tmpFile = $_FILES['my_file']['tmp_name'];
// 2. 判断是否上传成功?
$uploadError = $_FILES['my_file']['error'];
$extension = explode('.', $fileName)[1];
class customException extends Exception
{
public function errorMessage()
{
// 错误信息
$errorMsg ='<b>'.$this->getMessage().'</b> 是不允许上传的文件类型';
return $errorMsg;
}
public function errorMessage2()
{
// 错误信息
$errorMsg ='<b>'.$this->getMessage().'</b> 上传文件不允许超过3M';
return $errorMsg;
}
}
try
{
if (!in_array($extension, $fileType)) {
throw new customException($extension);
}
if ( $uploadError == 2 ) {
throw new customException($uploadError);
}
}
catch (customException $e)
{
echo $e->errorMessage();
}
catch (customException $e)
{
echo $e->errorMessage2();
}
if (is_uploaded_file($tmpFile)) {
if (move_uploaded_file($tmpFile, __DIR__ . $filePath. $fileName)) {
echo '<script>alert("上传成功");history.back();</script>';
} else {
die('文件无法移动到指定目录, 请检查目录的写权限');
}
} else {
die('非法操作');
}
exit();
?>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号