介绍
小编给大家分享一下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 才能“文件类型不正确!“; ,} }
点击上传后文件就保存在系统的指定路径下。
保存后按照指定方法重命名文件名:
<强>头像上传预览强>
<强>原理:强>在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; }> 脚本