用php语言实现文件上传功能 为上传的文件自动生成文件名 判断上传是否成功 可以在一个表单实现多个文件上传 并实现文件下载功能
时间: 2024-02-01 17:16:20 浏览: 20
实现文件上传功能:
```php
<?php
if(isset($_FILES['file'])) {
$file = $_FILES['file'];
$fileName = uniqid() . '_' . $file['name']; // 生成唯一的文件名
$filePath = 'uploads/' . $fileName; // 文件上传后保存的路径
if(move_uploaded_file($file['tmp_name'], $filePath)) {
echo '文件上传成功';
} else {
echo '文件上传失败';
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
```
实现多文件上传:
```php
<?php
if(isset($_FILES['files'])) {
$files = $_FILES['files'];
$countFiles = count($files['name']); // 获取上传文件的个数
for($i = 0; $i < $countFiles; $i++) {
$fileName = uniqid() . '_' . $files['name'][$i]; // 生成唯一的文件名
$filePath = 'uploads/' . $fileName; // 文件上传后保存的路径
if(move_uploaded_file($files['tmp_name'][$i], $filePath)) {
echo '文件' . ($i+1) . '上传成功<br>';
} else {
echo '文件' . ($i+1) . '上传失败<br>';
}
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<input type="submit" value="上传">
</form>
```
实现文件下载功能:
```php
<?php
$filePath = 'uploads/filename.txt'; // 文件路径
$fileName = '自定义文件名.txt'; // 下载时的文件名
if(file_exists($filePath)) {
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $fileName . '"');
readfile($filePath);
} else {
echo '文件不存在';
}
?>
```