<?php
// 目标文件夹路径
$targetDir = "uploads/";
// 检查目录是否存在,不存在则创建
if (!file_exists($targetDir)) {
mkdir($targetDir, 0777, true);
echo "目录 {$targetDir} 已创建。\n";
}
// 文件上传字段名,这里假设是 'file'
$fileName = $_FILES['file']['name'];
$fileTmpName = $_FILES['file']['tmp_name'];
// 上传文件的完整路径
$filePath = $targetDir . $fileName;
// 尝试移动文件到目标文件夹
if (move_uploaded_file($fileTmpName, $filePath)) {
echo "文件 {$fileName} 上传成功。\n";
} else {
echo "文件 {$fileName} 上传失败。\n";
}
?>
<form action="" method="post" enctype="multipart/form-data">
选择文件:
<input type="file" name="file" id="file">
<input type="submit" value="上传文件" name="submit">
</form>
**解释**:
1. **创建目录**:首先,我们定义了目标文件夹的路径 `$targetDir`。接着,使用 `file_exists()` 函数检查该目录是否存在,如果不存在,则使用 `mkdir()` 函数创建目录。`mkdir()` 的第三个参数 `true` 表示如果父目录不存在,则同时创建父目录。
2. **上传文件**:我们假设上传的字段名为 `'file'`。使用全局数组 `$_FILES` 来获取上传文件的信息,包括文件名 (`$fileName`) 和临时文件路径 (`$fileTmpName`)。然后,我们构造出文件的完整路径 `$filePath`。
3. **移动文件**:使用 `move_uploaded_file()` 函数将文件从临时存储位置移动到 `$filePath` 指定的位置。如果移动成功,则输出成功消息;否则,输出失败消息。
4. **HTML 表单**:提供了一个简单的 HTML 表单,用于选择文件和提交表单。表单的 `enctype` 属性被设置为 `"multipart/form-data"`,这是上传文件所必需的。
请注意,这段代码是一个基本的示例,并没有包含所有的错误处理和安全性检查(如检查上传文件的大小、类型等)。在实际应用中,你应该添加这些安全措施。