PHP文件上传主要两个步骤:
1.首先前端html写好文件表单上传网页
2.在前端点提交时,web服务器php脚本通过超全局变量$_FILES和一个move_uploaded_file函数搞定
前端html如下:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>文件上传</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <div style="margin: 0 auto; padding:50px 0px; width:300px;"> <input type="file" id="upload" name="uploadpic" style="display:none"/> <input type="text" id="filename" value="文件名"> <input type="button" id="picbtn" value="图片上传" /> <input type="submit" value="提交" /> </div> </form> <script type="text/javascript"> function $(id) { var objs = document.getElementById(id); return objs; } window.onload = function(){ $("picbtn").onclick = function(){ $("upload").click(); //点图片上传时,同时触发文件选择 } $("upload").onchange = function(){ $("filename").value = this.value; //获取文件选择值 } } </script> </body> </html>
注:表单上传文件时,method必须用post,且须声明是enctype="multipart/form-data"
2.服务器php脚本upload.php代码如下:
<?php if(move_uploaded_file($_FILES['uploadpic']['tmp_name'], './fileupload/'.$_FILES['uploadpic']['name'])) { echo "ok"; } else { echo "fail"; }
注:可以用print_r($_FILES)打印查看超全局变量里面放的内容,可以看到文件的相关信息都放在这个变量里面;如
array ( 'uploadpic' => array ( 'name' => '1客栈首页.jpg', 'type' => 'image/jpeg', 'tmp_name' => 'C:\\Windows\\Temp\\php3F1C.tmp', 'error' => 0, 'size' => 1706919, ), )ok
从变量的数组里面可以知道上传的文件名,文件类型、web服务器临时存放图片的位置(如果要更改临时存放路径,可以去php.ini里面更改),错误信息和文件大小(限制文件上传大小,也可以到php.ini里修改)。
时间: 2024-11-05 18:47:55