PHP 通过 HTTP 请求上传文件187


在 PHP 中,通过 HTTP 请求上传文件是一项常见的操作。本文将详细介绍如何使用 PHP 处理文件上传,包括从表单获取文件、验证文件和将文件保存到服务器。

从表单获取文件

当用户通过 Web 表单上传文件时,PHP 会创建一个超级全局变量 $_FILES,其中包含有關上傳文件的信息,包括:name(文件名)、type(文件类型)、tmp_name(临时文件路径)、error(错误代码)、size(文件大小)。


验证文件

在将文件保存到服务器之前,对文件进行验证很重要,以确保该文件安全且有效。PHP 提供了几个用于文件验证的函数,包括:
is_uploaded_file($file['tmp_name']):验证文件是否已通过 HTTP 上传。
getimagesize($file['tmp_name']):提取图片文件的尺寸和类型。
finfo_file($finfo, $file['tmp_name']):使用 FileInfo 扩展信息获取文件的类型和其他信息。

将文件保存到服务器

验证文件后,使用 move_uploaded_file($file['tmp_name'], $destination) 函数将文件移动到服务器上的目标位置。


处理文件上传错误

PHP 中的文件上传可能出现各种错误,由 $_FILES['file']['error'] 中的错误代码指示。常见的错误代码包括:
UPLOAD_ERR_OK:没有错误。
UPLOAD_ERR_INI_SIZE:文件大小超过 中配置的最大值。
UPLOAD_ERR_FORM_SIZE:文件大小超过 HTML 表单中配置的最大值。
UPLOAD_ERR_PARTIAL:文件只部分上传。
UPLOAD_ERR_NO_FILE:没有选择文件。

可以根据错误代码采取适当的措施,例如显示错误消息或限制文件上传大小。

2024-10-16


上一篇:在 PHP 中高效遍历文件夹下所有文件

下一篇:PHP 字符串查询:深入探索强大的字符串处理功能