接受文件并获得其后缀名可以使用PHP中的$_FILES数组来完成,具体步骤如下:
1. 创建HTML表单
首先需要在HTML中创建一个表单,用于向后台提交数据并上传文件。以下是一个示例:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="submit" value="上传文件">
</form>
其中,action
属性表示表单提交数据后交由哪个PHP文件处理,method
属性表示提交方式为POST,enctype
属性表示表单类型为文件上传。<input type="file">
表示上传文件的input控件,name
属性表示后台接受的文件标识,默认值为file
,id
属性用于指定标识,type="submit"
表示上传按钮。
2. 处理上传文件
在提交按钮点击后,后台PHP文件需要接受提交的文件,并且获取文件的后缀名。以下是一个示例:
$file_name = $_FILES['file']['name']; // 获取文件名
$file_type = $_FILES['file']['type']; // 获取文件类型
$file_size = $_FILES['file']['size']; // 获取文件大小(字节)
$file_tmp_name = $_FILES['file']['tmp_name']; // 获取临时文件名(全路径)
$ext = pathinfo($file_name, PATHINFO_EXTENSION); // 获取文件后缀名
move_uploaded_file($file_tmp_name, "uploads/" . $file_name); // 将文件移动到指定目录
以上代码中,通过$_FILES
数组获取到文件的名称、类型、大小和临时路径,然后使用pathinfo
函数获取到文件的后缀名。最后,使用move_uploaded_file
函数将文件从临时路径移动到指定目录,注意目录必须存在且可写。
示例说明:
以下是一个上传图片并获取后缀名的完整示例:
- HTML表单代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>上传文件示例</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="submit" value="上传文件">
</form>
</body>
</html>
- PHP处理代码:
<?php
if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) { // 判断文件是否上传成功
$file_name = $_FILES['file']['name']; // 获取文件名
$file_type = $_FILES['file']['type']; // 获取文件类型
$file_size = $_FILES['file']['size']; // 获取文件大小(字节)
$file_tmp_name = $_FILES['file']['tmp_name']; // 获取临时文件名(全路径)
// 获取文件后缀名
$ext = pathinfo($file_name, PATHINFO_EXTENSION);
echo "文件后缀名为:" . $ext;
// 将文件移动到指定目录
move_uploaded_file($file_tmp_name, "uploads/" . $file_name);
}
?>
这个示例中,当用户提交上传表单时,PHP文件会在标准输出中输出文件后缀名,并将文件移动到uploads/
目录。
- 笑话图片上传案例:
以上传一张笑话图片为例,表单与处理文件如下:
HTML表单:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>上传笑话图片</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="submit" value="上传">
</form>
</body>
</html>
PHP文件:
<?php
if (isset($_FILES['file']) && $_FILES['file']['error'] == 0) { // 判断文件是否上传成功
$file_name = $_FILES['file']['name']; // 获取文件名
$file_type = $_FILES['file']['type']; // 获取文件类型
$file_size = $_FILES['file']['size']; // 获取文件大小(字节)
$file_tmp_name = $_FILES['file']['tmp_name']; // 获取临时文件名(全路径)
// 获取文件后缀名
$ext = pathinfo($file_name, PATHINFO_EXTENSION);
// 验证文件类型
if ($file_type != 'image/jpeg' && $file_type != 'image/png' && $file_type != 'image/gif') {
echo "上传的文件类型不正确,请上传图片文件";
exit;
}
// 将文件移动到指定目录
move_uploaded_file($file_tmp_name, "uploads/" . $file_name);
echo "文件上传成功";
}
?>
这个示例中,PHP文件首先判断文件类型是否为图片文件,如果不是则输出错误信息并结束程序,如果是则将文件移动到指定目录中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用PHP接受文件并获得其后缀名的方法 - Python技术站