PHP文件上传函数。
发布时间:2023-07-03 04:49:44
PHP有一些内置的函数可以用来处理文件上传。其中最常用的是move_uploaded_file函数和$_FILES超全局数组。
move_uploaded_file函数用于将上传的文件移动到服务器上的指定位置。它的语法如下:
move_uploaded_file(string $filename, string $destination): bool
其中,$filename参数表示上传文件的临时保存路径,$destination参数表示文件将要被移动到的目标路径。它返回一个布尔值,表示移动是否成功。
$_FILES是一个关联数组,其中保存着上传文件的信息。它的结构如下:
$_FILES["input_name"]
其中,“input_name”是指文件上传表单中对应的<input>元素的"name"属性的值。$_FILES["input_name"]是一个包含以下几个元素的关联数组:
- name:上传文件的原始文件名。
- type:上传文件的 MIME 类型。
- tmp_name:上传文件的临时保存路径。
- error:文件上传过程中的错误代码。
- size:上传文件的大小,以字节为单位。
以下是一个用于文件上传的示例代码:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 检查文件上传是否成功
if (isset($_FILES["file"])) {
$file = $_FILES["file"];
// 获取文件信息
$fileName = $file["name"];
$fileType = $file["type"];
$fileTempPath = $file["tmp_name"];
// 指定文件将要被保存的目标路径
$destination = "uploads/" . $fileName;
// 将上传的文件移动到指定位置
if (move_uploaded_file($fileTempPath, $destination)) {
echo "文件上传成功!";
} else {
echo "文件上传失败!";
}
}
}
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
以上代码通过判断请求的方式是否为POST,检查文件上传是否成功,获取文件信息,指定文件保存的目标路径,然后调用move_uploaded_file函数将文件移动到指定位置。最后,通过HTML表单提供一个文件上传的界面。
需要注意的是,为了正常使用文件上传功能,需要确保以下几个配置项已经正确配置:
- file_uploads:是否允许文件上传。
- upload_max_filesize:单个上传文件的最大允许大小。
- post_max_size:POST请求发送的最大允许大小。
- upload_tmp_dir:临时文件的保存路径。
以上就是PHP中文件上传的函数和一个示例的实现。
