PHP 批量上传文件并生成时间戳命名文件夹
以下是使用 PHP 编写的网页示例,支持批量上传文件,并为每次上传的文件分配一个时间戳命名的文件夹,然后返回文件夹名给上传者。
<!DOCTYPE html>
<html>
<head>
<title>文件上传示例</title>
</head>
<body>
<h1>文件上传示例</h1>
<?php
// 检查表单是否已提交
if (isset($_POST['submit'])) {
// 创建一个唯一的时间戳命名的文件夹
$folderName = time();
// 创建文件夹
if (!mkdir($folderName)) {
die('无法创建文件夹');
}
// 处理上传的文件
foreach ($_FILES['files']['tmp_name'] as $key => $tmpName) {
// 获取上传文件信息
$fileName = $_FILES['files']['name'][$key];
$fileSize = $_FILES['files']['size'][$key];
$fileType = $_FILES['files']['type'][$key];
$fileError = $_FILES['files']['error'][$key];
$fileTmpName = $_FILES['files']['tmp_name'][$key];
// 将文件移动到新创建的文件夹中
$destination = $folderName . '/' . $fileName;
if (!move_uploaded_file($fileTmpName, $destination)) {
die('文件上传失败');
}
}
// 显示成功消息和文件夹名
echo '文件上传成功!文件夹名:' . $folderName;
}
?>
<form method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple required>
<input type="submit" name="submit" value="上传文件">
</form>
</body>
</html>
这个例子中,我们首先检查表单是否已提交。如果已提交,我们会创建一个唯一的时间戳命名的文件夹,并通过mkdir函数创建文件夹。然后,我们使用foreach循环来处理每个上传的文件。我们获取上传文件的信息,将其移动到新创建的文件夹中,使用move_uploaded_file函数。最后,我们显示成功的消息和文件夹名。
在网页中,我们使用<input type="file">标签来支持文件上传,并设置name="files[]"来支持多个文件的上传。在表单中,我们还包含了一个提交按钮,用于提交文件。
请注意,为了使文件上传正常工作,需要确保PHP服务器的配置中启用了文件上传功能。
原文地址: https://www.cveoy.top/t/topic/bygZ 著作权归作者所有。请勿转载和采集!