现在上传头像是很常见的了在很多地方可以用到
在这里我们了解一下怎么上传图像
一、文件上传功能
(1)第一是要有这个上传页面了
首先是要写表单元素了(其中就有处理页面“关于上传的处理了,其中有些规则可以写”,还有传输方式,再就是一个重要的属性,因为是文件上传,所以要有这个属性:enctype=”multipart/form-data”)再就是关于按钮了,表单决定之后,就是里面的内容,文件上传自然按钮的类型是“file”;然后就是“上传”按钮了,这个要用到提交,所以按钮类型要用“submit”的,代码如下:
1 <form action="schuli.php" method="post" enctype="multipart/form-data"> 2 选择文件:<input type="file" name="file" /> <input type="submit" value="提交" /> 3 4 </form>
效果就是上面我发的那张图片
(2)第二就是重要的文件上传的处理页面了
1 <?php 2 3 //取文件信息 4 $arr=$_FILES["file"]; 5 //var_dump($arr); 6 7 //加限制条件 8 //1.文件类型 9 //2.文件大小 10 //3.保存的文件名不重复 11 if(($arr["type"]=="image/jpeg" || $arr["type"]=="image/png") && $arr["size"]<1024000 ) 12 { 13 //临时文件的路径 14 //$arr["tmp_name"]; 15 16 //上传的文件存放的位置 17 //1.用户名加时间戳 18 //2.类似网盘,使用文件夹来防止重复 19 $filename="./images/".time().$arr["name"]; 20 21 //保存之前判断该文件是否存在 22 if(file_exists($arr["name"])) 23 { 24 echo "该文件已存在"; 25 } 26 else 27 { 28 //转换编码格式 29 $filename=iconv("UTF-8","gb2312",$filename); 30 //移动临时文件到上传的文件存放的位置 31 //1.临时文件的路径 2.存放的路径 32 move_uploaded_file($arr["tmp_name"],$filename); 33 } 34 } 35 else 36 { 37 echo "上传的文件类型和大小不正确"; 38 }
二,上传文件预览
上传图片时,都会先看效果怎么样,然后再上传的,接下来就是图片预览功能了
1 <form id="sc" action="ylchuli.php" method="post" enctype="multipart/form-data" target="shangchuan"> 2 3 4 <input type="hidden" name="tp" value="" id="tp" /> 5 6 <div id="yl"> 7 <input type="file" name="file" id="file" onchange="document.getElementById('sc').submit()" /> 8 </div> 9 10 11 12 </form> 13 14 <iframe style="display:none" name="shangchuan" id="shangchuan"> 15 </iframe>
给div加样式
1 <style type="text/css"> 2 #yl{ 200px; height:300px; background-image:url(images/1495078781tuzi.jpg); background-size:200px 300px;} 3 #file{ 200px; height:300px; float:left; opacity:0;} 4 </style>
这个预览是用js做的
1 <script type="text/javascript"> 2 3 //回调函数,调用该方法传一个文件路径,该变背景图 4 function showimg(url) 5 { 6 var div = document.getElementById("yl"); 7 div.style.backgroundImage = "url("+url+")"; 8 9 document.getElementById("tp").value = url; 10 } 11 12 </script>
再就是处理页面
1 <?php 2 3 if($_FILES["file"]["error"]) 4 { 5 echo $_FILES["file"]["error"]; 6 } 7 else 8 { 9 if(($_FILES["file"]["type"]=="image/jpeg" || $_FILES["file"]["type"]=="image/png")&& $_FILES["file"]["size"]<1024000) 10 { 11 $fname = "./images/".date("YmdHis").$_FILES["file"]["name"]; 12 13 $filename = iconv("UTF-8","gb2312",$fname); 14 15 if(file_exists($filename)) 16 { 17 echo "<script>alert('该文件已存在!');</script>"; 18 } 19 else 20 { 21 move_uploaded_file($_FILES["file"]["tmp_name"],$filename); 22 23 24 $delurl = iconv("UTF-8","gb2312",$_POST["tp"]); 25 unlink($delurl); //删除文件 26 27 echo "<script>parent.showimg('{$fname}');</script>"; 28 } 29 30 } 31 }
效果:
当想换图片时点击图片
就会出现你的图片点击图片换上就行
这样就换好了。
最新评论