图片文件上传

上传文件原理
? 上传文件,就是将文件从浏览器端传到服务器端;
? 上传文件,必须使用

标记来向服务器端发数据;
? 上传文件,标记的method属性值必须是POST;
? 上传文件,标记的enctype属性值必须是multipart/form-data;
? 上传文件,必须使用标记实现
超全局变量数组$_FILES

图片文件上传
文章图片
image.png
图片文件上传
文章图片

上传文件的相关配置(php.ini)
? upload_tmp_dir配置:修改上传文件的临时目录;
? upload_max_filesize配置:上传单个文件的大小限制,默认为2MB。
? post_max_size配置:规定上传多个文件的总大小,默认为8MB。
? max_file_uploads配置:规定最多上传的文件个数,默认为20个。
? file_uploads配置:上传功能是否开启,默认为on。

图片文件上传
文章图片
image.png
获取文件路径信息 pathinfo()
? 描述:返回文件路径的信息 ;
? 语法:mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
? 参数:
? $path,要解析的路径。
? $options,如果省略,返回全部单元,取值有:PATHINFO_DIRNAME(目录名称)、PATHINFO_BASENAME(文件名称)、PATHINFO_EXTENSION(扩展名)、PATH_FILENAME(文件名)。
检查数组中是否存在某个值 in_array()
? 描述:检查数组中是否存在某个值
? 语法:bool in_array ( mixed $needle , array $arr )
? 参数:$needle检索的值,$arr原数组。
生成唯一ID uniqid()
? 描述:生成一个唯一ID
? 语法:string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )
? 参数:
? $prefix前缀字符串,如果省略,返回字符串长度为13;
? $more_entropy后缀字符集,如果省略,返回字符串长度为23。
前端文件file.html
文件上传 - 锐客网 上传图片:


图片文件上传
文章图片
image.png 【图片文件上传】后台接收文件upload.php
"; print_r($_FILES); echo "
"; //(1)判断上传文件有没有错误发生 if($_FILES['uploadFile']['error']!=0) { echo "上传文件有错误发生"; die(); } //(2)上传文件大小不能超过2MB if($_FILES['uploadFile']['size']>1024*1024*2) { echo "上传文件超过了2MB的最大限额!"; die(); } //(3)判断上传文件是否为图片 $arr=array('jpg','gif','png'); $ext=pathinfo($_FILES['uploadFile']['name'],PATHINFO_EXTENSION); if(!in_array($ext,$arr)) { echo '上传文件类型不是图片'; die(); } //(4)移动文件 $tmp_name=$_FILES['uploadFile']['tmp_name']; //临时文件 $dst_name="./img/".uniqid().".".$ext; move_uploaded_file($tmp_name,$dst_name); echo "文件{$_FILES['uploadFile']['name']}上传成功!"; header("Refresh:3; url=./file.html"); die(); } else { echo "非法操作!"; } ?>

图片文件上传
文章图片
image.png

    推荐阅读