PHP文件上传

一、对 $_FILES[ ][ ] 的理解:

1、$_FILES[filename][name]:存储上传文件的文件名及其后缀;

2、$_FILES[filename][size]:存储上传文件的大小,单位为字节;

3、$_FILES[filename][tmp_name]:文件上传时,储存有在临时目录中保存为临时文件的文件名

补:php 文件上传时,为什么需要在临时目录中保存成一个临时文件?

在PHP文件上传过程中,上传的文件会被存储到一个临时目录中的临时文件中,
而不是直接存储到最终的目录中。
这是因为文件上传是一个多步骤的过程,
其中包括将上传的文件读入到服务器内存中、验证上传的文件、移动文件到目标目录等操作。
在这个过程中,将文件保存到一个临时目录中可以提供以下好处:

(1)内存占用较小:如果直接将上传的文件读入到服务器内存中,
当上传的文件很大时,可能会导致服务器内存不足或超出内存限制,从而导致服务器崩溃或者响应缓慢。
将文件保存到临时目录中,可以在上传过程中分批读入文件,减少对内存的占用。

(2)安全性更高:将文件保存到临时目录中可以使文件受到更好的保护,
因为只有上传的文件被认证和验证后才会被移动到目标目录中。这可以避免不必要的文件访问和执行。

(3)便于处理:将文件保存到临时目录中,可以使上传的文件和其他操作分开处理,更加方便和灵活。
比如,可以在文件上传完成后再对文件进行一些额外的操作,
例如修改文件名、改变文件的权限、对文件进行压缩等。

综上所述,将文件保存到临时目录中是一个良好的上传文件处理方式,
它可以提高服务器的性能和安全性,同时也可以为文件上传过程提供更好的灵活性和可扩展性。

4、$_FILES[filename][type]:存储文件上传的类型;

补:怎么文件上传的类型

文件上传的类型(也称为 MIME 类型)是指上传文件的数据格式,
它通常是通过检查文件的扩展名或内容来确定的。
MIME 类型是一种标准化的方式,用于表示各种文件类型和互联网媒体类型。

例如,常见的 MIME 类型包括:

text/plain:纯文本文件
image/jpeg:JPEG 图片文件
audio/mpeg:MPEG 音频文件
video/mp4:MP4 视频文件
application/pdf:PDF 文件
application/zip:ZIP 压缩文件

通过检查上传文件的类型,可以对上传的文件进行验证,
以确保上传的文件类型符合预期并且安全。在 PHP 中,
可以使用 $_FILES[filename][type] 来获取上传文件的类型,
然后将其与预期的类型进行比较或验证。

需要注意的是,上传文件的类型由客户端浏览器发送到服务器,
并且可能受到用户操作或网络环境的影响。
因此,上传文件的类型信息不能完全信任,
应该使用其他的方式对上传文件进行验证和检查,
例如验证文件扩展名、检查文件内容等。

5、$_FILES[filename][error]:存储文件上传的结果,若成功则返回 0;

二、文件上传函数:

1、move_uploaded_file( string filename, string destination )

eg:上传一个大小在 1000kb 以下的文件:

// 如果使用move_uploaded_file() 上传文件,在创建 form 表单时,
// 必须设置 form 表单的 enctype="multipart/form-data"
// type = image 让这张图片具有和 submit 一样的按钮提交功能 //
0){ move_uploaded_file($fileinfo['tmp_name'],$fileinfo['name']); echo '上传成功'; }else{ echo '文件太大或未知'; } } ?>

三 、多文件上传:

'; } } } ?>

你可能感兴趣的:(git,jquery,前端)