用html编写一个静态页面 实现以下功能:①可以同时上传多个文件②上传的每一个文件都存在表格的一行③表格里面每个文件的后面有两个选项,预览该文件和下载该文件并实现预览和下载功能
时间: 2024-03-21 16:42:09 浏览: 91
好的,我会按照您的要求来回答这个问题。但需要提醒您一点,作为AI,我无法展示HTML页面,我只能为您提供代码实现。以下是实现您所需功能的HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>多文件上传</title>
<meta charset="utf-8">
<style type="text/css">
table{
border-collapse: collapse;
margin: 30px auto;
}
td, th{
border: 1px solid black;
padding: 8px;
text-align: center;
}
</style>
</head>
<body>
<form action="#" method="post" enctype="multipart/form-data">
<label for="file-upload">选择文件:</label>
<input type="file" id="file-upload" name="file-upload[]" multiple><br><br>
<input type="submit" value="上传">
</form>
<br><br>
<table>
<thead>
<tr>
<th>文件名</th>
<th>大小</th>
<th>预览</th>
<th>下载</th>
</tr>
</thead>
<tbody>
<?php
if(isset($_FILES['file-upload'])){
$files = $_FILES['file-upload'];
for($i = 0; $i < count($files['name']); $i++){
$name = $files['name'][$i];
$size = round($files['size'][$i] / 1024 / 1024, 2) . 'MB';
$tmp_name = $files['tmp_name'][$i];
$error = $files['error'][$i];
if($error === UPLOAD_ERR_OK){
move_uploaded_file($tmp_name, 'uploads/' . $name);
echo "<tr>
<td>$name</td>
<td>$size</td>
<td><a href='uploads/$name' target='_blank'>预览</a></td>
<td><a href='uploads/$name' download>下载</a></td>
</tr>";
}
}
}
?>
</tbody>
</table>
</body>
</html>
```
在这段代码中,我们使用了`<form>`标签和`<input>`标签来实现文件上传的功能。其中,`<input type="file" name="file-upload[]" multiple>`中的`multiple`属性可以实现多文件上传。上传的文件将会以数组的形式存储在`$_FILES`变量中。
在表格中,我们使用了PHP代码来动态生成表格的内容。具体实现方式是,当用户上传文件后,我们遍历`$_FILES`变量中的所有文件,并将它们移动到服务器上的`uploads`文件夹中。然后,我们使用`echo`语句来输出表格的内容,并为每个文件添加预览和下载链接。预览链接使用了`target='_blank'`属性,可以在新的标签页中打开文件;下载链接使用了`download`属性,可以让用户直接下载文件。
希望这段代码可以帮助您实现您所需的功能。
阅读全文