在PHP中,处理文件上传通常使用$_FILES
全局数组。$_FILES['file_name']['tmp_name']
包含了上传文件的临时文件路径。你可以使用move_uploaded_file()
函数将上传的文件移动到指定的目录。以下是一个简单的示例:
<!DOCTYPE html>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select file to upload:
<input type="file" name="file_name">
<input type="submit" value="Upload File" name="submit">
</form>
</body>
</html>
注意enctype="multipart/form-data"
属性,这是处理文件上传所必需的。
<?php
// 检查是否有文件上传
if (isset($_FILES['file_name'])) {
$target_dir = "uploads/"; // 上传文件的存储目录
$target_file = $target_dir . basename($_FILES["file_name"]["name"]); // 上传文件的完整路径
$uploadOk = 1; // 设置上传状态为成功
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION)); // 获取文件扩展名
// 检查文件是否为有效上传
if (move_uploaded_file($_FILES["file_name"]["tmp_name"], $target_file)) {
echo "The file " . htmlspecialchars(basename($_FILES["file_name"]["name"])) . " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
} else {
echo "No file selected.";
}
?>
在这个示例中,我们首先检查是否有文件上传。如果有文件上传,我们将文件移动到uploads
目录。如果文件上传成功,我们会输出一条成功消息;否则,我们会输出一条错误消息。
请确保在运行此代码之前创建一个名为uploads
的目录,并设置适当的文件权限,以便PHP可以将上传的文件保存到该目录中。