了解PHP文件上传相关知识
下面本篇文章给大家介绍一下PHP文件上传的相关知识,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
一、文件上传的种类
1、图片文件 image/gif image/jpg image/jpeg iamge/png image/x-png
2、PHP可以上传多种类型的文件,如word、文本文件、Excel文件、PPT文件、二进制文件、PDF文件、视频及音频文件
二、表单特性
1、enctype属性必须为multipart/form-data 表示上传二进制数据
2、input标签的type属性为file
- <form action="test.php" enctype="multipart/form-data" method="post">
- <input type="file" name="file">
- <input type="submit" value="上传">
- </form>
三、全局变量$_FILES
1、简介:是一个二维数据,用于接收上传文件的信息
2、$_FILES[][‘name’] 存放客户端文件系统的文件的名称
3、$_FILES[][‘type’] 存放客户端传递的文件的类型
4、$_FILES[][‘size’] 存放文件的字节大小
5、$_FILES[][‘tmp_name’] 存放文件被上传后在服务器存储的临时全路径
6、$_FILES[][‘error’] 存放文件上传的错误代码
0 表示没有发生任何错误
1 上传文件的大小超出PHP配置的约定值
2 上传文件的大小超出HTML配置的约定值
3 表示文件部分上传
4 表示没有上传任何文件
- //获得上传文件名字
- echo $_FILES['file']['name'];//输出 1.jpg
- echo '<br>';
- //获得上传文件类型
- echo $_FILES['file']['type'];//输出 image/jpeg
- echo '<br>';
- //获得上传文件大小,以字节为单位
- echo $_FILES['file']['size'];//输出 31019
- echo '<br>';
- //获得临时文件的路径
- echo $_FILES['file']['tmp_name'];//输出 G:\xampp\tmp\phpED8A.tmp
- echo '<br>';
- //获得文件上传的错误代码,不同的错误代码对应不同的错误
- echo $_FILES['file']['error'];//输出 0
- echo '<br>';
四、文件上传
move_uploaded_file()
将存放在临时目录下的上传文件拷贝到一个新的位置
- //判断是否上传成功
- if(!$_FILES['file']['error']){
- //判断是否有uploads目录,没有则创建这个目录
- if(!is_dir('uploads')){
- mkdir('uploads');
- }
- //获取文件名,创建文件放置的位置
- $filepath = 'uploads/'.$_FILES['file']['name'];
- //将临时文件移动到指定位置
- move_uploaded_file( $_FILES['file']['tmp_name'],$filepath);
- //移动成功后,可以在uploads目录中看到上传的文件
- }