PHP中的文件上传功能如何实现?
warning:
这篇文章距离上次修改已过205天,其中的内容可能已经有所变动。
在PHP中实现文件上传功能,需要使用超全局变量$_FILES
,它包含了所有上传的文件信息。以下是一个简单的例子:
- HTML表单代码(upload\_form.html):
<form action="upload.php" method="post" enctype="multipart/form-data">
选择文件:<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="上传文件" name="submit">
</form>
- PHP处理上传(upload.php):
<?php
$target_dir = "uploads/"; // 指定上传目录
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); // 目标文件路径
// 检查文件大小
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "抱歉,文件过大。";
exit;
}
// 允许的文件格式
$allowed_types = array("jpg", "png", "jpeg", "gif");
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
if (!in_array($imageFileType, $allowed_types)) {
echo "抱歉,只允许 JPG, JPEG, PNG & GIF 文件格式。";
exit;
}
// 检查是否有错误
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "文件上传成功。";
} else {
echo "上传失败。";
}
?>
确保服务器配置文件php.ini
中已经正确设置了文件上传的相关配置项,如upload_max_filesize
,post_max_size
,以及确保上传目录有足够的权限。
评论已关闭