批改状态:合格
老师批语:
效果图如下:
代码如下:
//单文件上传// print_r($_FILES);//1.上传文件不能为空if (isset($_FILES['tupian'])) {// 获取到当前的图片原始名$name = $_FILES['tupian']['name'];// 获取到临时文件名$tmpName = $_FILES['tupian']['tmp_name'];// 获取上传错误$error = $_FILES['tupian']['error'];//判断是否上传错误//当error大于0的时候就是有错误if ($error > 0) {//使用switch判断$cw = '<p style="color:red">上传失败错误原因:</p>';switch ($error) {//当错误为1时....case 1:$cw .= '文件过大超过配置文件限制大小';break;case 2:$cw .= '要上传的文件大小超出浏览器限制';break;case 3:$cw .= '文件仅部分被上传';break;case 4:$cw .= '没有找到要上传的文件';break;case 5:$cw .= '服务器临时文件夹丢失';break;case 6:$cw .= '文件写入到临时文件夹出错';break;case 7:$cw .= '文件写入失败,请检查目录权限';break;}echo $cw;} else {//没有错误继续进行操作//当没有错误的时候 先进行判断文件上传是否合法POST// is_uploaded_file:判断文件是否是通过 POST 上传的if (is_uploaded_file($tmpName)) {//如果是继续判断文件类型是否正确$hz = ['jpg', 'png', 'gif', 'jpeg', 'webp'];//拿到文件名后缀$houzhui = pathinfo($name)['extension'];//in_array用来查询数组中是否存在某个元素if (in_array($houzhui, $hz)) {// 如果合法那么继续上传//创建目录名称等会将临时文件移动到指定目录$path = 'images/';//防止重复名 使用md5加密原文件名+时间戳$mz = $path . md5($name) . time() . '.' . $houzhui;//将临时文件上传到指定目录// move_uploaded_file:将上传的文件移动到新位置if (move_uploaded_file($tmpName, $mz)) {//上传成功之后打印即可echo '上传成功';echo "<img src='$mz' width='100'/>";}} else {echo '文件类型不存在';}} else {echo '非法上传';}}}?>
<body><form action="" method="post" enctype="multipart/form-data"><fieldset><legend>单文件上传</legend><input type="file" name="tupian"><button>上传</button></fieldset></form></body>
效果图如下:
代码如下:
<?php//多文件上传// printf('<pre>%s</pre>', print_r($_FILES, true));//使用foreach遍历foreach($_FILES as $file){//判断是否为有错误 如果等于0就代表上传成功开始处理if($file['error'] === 0){if (is_uploaded_file($file['tmp_name'])) {//如果是继续判断文件类型是否正确$hz = ['jpg', 'png', 'gif', 'jpeg', 'webp'];//拿到文件名后缀$houzhui = pathinfo($file['name'])['extension'];//in_array用来查询数组中是否存在某个元素if (in_array($houzhui, $hz)) {// 如果合法那么继续上传//创建目录名称等会将临时文件移动到指定目录$path = 'images/';//防止重复名 使用md5加密原文件名+时间戳$mz = $path . md5($file['name']) . time() . '.' . $houzhui;//将临时文件上传到指定目录// move_uploaded_file:将上传的文件移动到新位置if (move_uploaded_file($file['tmp_name'], $mz)) {//上传成功之后打印即可echo '上传成功';echo "<img src='$mz' width='100'/>";}} else {echo '文件类型不存在';}} else {echo '非法上传';}//将文件移入到指定目录}}?>
<body><form action="" method="post" enctype="multipart/form-data"><fieldset><legend>多文件上传1-逐条上传</legend><input type="file" name="tupian"><input type="file" name="tupian1"><input type="file" name="tupian2"><button>上传</button></fieldset></form></body>
效果图如下:
代码如下:
<?php//多文件上传// printf('<pre>%s</pre>', print_r($_FILES, true));//判断是否为空if (isset($_FILES['tupian'])) {// 使用循环遍历foreach($_FILES['tupian']['error'] as $k=>$error){if($error === UPLOAD_ERR_OK){$name = $_FILES['tupian']['name'][$k];$tmpName = $_FILES['tupian']['tmp_name'][$k];if (is_uploaded_file($tmpName)) {$hz = ['jpg', 'png', 'gif', 'jpeg', 'webp'];//拿到文件名后缀$houzhui = pathinfo($name)['extension'];//in_array用来查询数组中是否存在某个元素if (in_array($houzhui, $hz)) {// 如果合法那么继续上传//创建目录名称等会将临时文件移动到指定目录$path = 'images/';//防止重复名 使用md5加密原文件名+时间戳$mz = $path . md5($name) . time() . '.' . $houzhui;//将临时文件上传到指定目录// move_uploaded_file:将上传的文件移动到新位置if (move_uploaded_file($tmpName, $mz)) {//上传成功之后打印即可echo '上传成功';echo "<img src='$mz' width='100'/>";}} else {echo '文件类型不存在';}} else {echo '非法上传';}}}}?>
<body><form action="" method="post" enctype="multipart/form-data"><fieldset><legend>多文件上传-批量上传</legend><input type="file" name="tupian[]" multiple><button>上传</button></fieldset></form></body>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号