php如何实现文件上传及头像预览功能

  介绍

小编给大家分享一下php如何实现文件上传及头像预览功能,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

php文件上传原理是通过形式表单的enctype=岸嗖糠?form-data"属性将文件临时放到wamp文件夹中的tmp目录下,再通过后台php程序将文件保存在体统中。

html代码:

& lt; form  action=皊hangchuan.php",方法=皃ost", enctype=岸嗖糠?form-data"比;   ,& lt; input 类型=癴ile", name=癴ile",/比;   ,& lt; input 类型=皊ubmit",价值=https://www.yisu.com/zixun/鄙洗?/>   

后台处理界面(shangchuan.php):

有以下几点<强>需要注意:

1。控制上传文件的类型
2。控制上传文件的大小
3。防止文件名重复
修改保存的文件名
用户名+时间戳+随机数+文件名
流水号

使用文件夹要提前建好路径。

4。保存文件

//判断文件上传是否出的错   如果(带有_file美元[“file"] [“error"])   {   ,echo 带有_file美元[“file"] [“error"];   }   其他的   {   ,//控制上传文件的类型,大小   美元,如果(带有_file [“file"] [“type"]==巴枷?jpeg", | |,带有_file美元[“file"] [“type"]==巴枷?png"),,,,带有_file美元[“file"] [“size"] & lt; 1024000)   ,{//找才能到文件存放的位置   时间=美元才能filename “。/文件/?date (“YmdHis")。带有_file美元[“file"] [“name"];   ,,//转才能换编码格式   时间=美元才能filename  iconv (“UTF-8",“gb2312", $ filename);   ,,//才能判断文件是否存在   如果才能(file_exists(文件名)美元)   {才能   ,,echo “该文件已存在!“;   ,,}   其他的才能   {才能   ,,//保存文件   ,,函数(带有_file美元[“file"] [“tmp_name"], $ filename);   ,,}   ,}   其他的,   ,{   echo 才能“文件类型不正确!“;   ,}   }

点击上传后文件就保存在系统的指定路径下。

 php如何实现文件上传及头像预览功能

保存后按照指定方法重命名文件名:

 php如何实现文件上传及头像预览功能

<强>头像上传预览

<强>原理:在html界面做一个头像大小的div,设置上传头像的背景,在div里面做一个上传文件的输入,透明度设置为0。

这样,点击这个div就可以跟上传的效果相同。

& lt; title>无标题文档& lt;/title>   & lt; style 类型=拔谋?css"比;   # yl{,宽度:200 px;,身高:300 px;,背景图片:url (img/11. png);, background-size: 200 px  300 px;}   #文件{,宽度:200 px;,身高:300 px;,浮动:左,,不透明度:0;}   & lt;/style>   & lt;/head>   ,   & lt; body>   ,   & lt; form  id=皊c", action=癱huli.php",方法=皃ost", enctype=岸嗖糠?form-data",目标=皊hangchuan"比;   ,,   ,& lt; input 类型=癶idden", name=皌p",价值=https://www.yisu.com/zixun/" id=" tp "/>      
              身体      <脚本type=" text/javascript”>//回调函数,调用该方法传一个文件路径,该变背景图   函数showimg (url)   {   var div=. getelementbyid(“公司”);   div.style。backgroundImage="网址(url“+ +”)”;      . getelementbyid (tp)。值=url;   }>

php处理界面(chuli。php):

& lt; php ?   ,   如果(带有_file美元[“file"] [“error"])   {   ,echo 带有_file美元[“file"] [“error"];   }   其他的   {   美元,如果(带有_file [“file"] [“type"]==巴枷?jpeg", | |,带有_file美元[“file"] [“type"]==巴枷?png"),,,带有_file美元[“file"] [“size"] & lt; 1024000)   ,{   fname 美元;=,才能“。/img/?date (“YmdHis")。带有_file美元[“file"] [“name"];,   ,,   时间=美元才能filename  iconv (“UTF-8",“gb2312",帧美元);   ,,   如果才能(file_exists(文件名)美元)   {才能   ,,echo “& lt; script>警报(& # 39;该文件已存在! & # 39;);& lt;/script>“;   ,,}   其他的才能   {才能   ,,函数(带有_file美元[“file"] [“tmp_name"], $ filename);   ,,,,   ,,分开($ _POST [“tp"]);   ,,,,   ,,echo “& lt; script> parent.showimg(& # 39;{$帧}& # 39;);& lt;/script>“;   ,,}   ,,   ,}   }

php如何实现文件上传及头像预览功能