思路:
1.通过HTML的文件域建立上传表单,注意
enctype属性,必须等于"multipart/form-data"
2.使用javasrcipt实现文件预览 事实上就是判断文件是否为指定格式,然后把上传内容给id为syt的元素
<script language="javascript" > function yulan() { var fileext=document.myform.pic.value.substring(document.myform.pic.value.lastIndexOf("."),document.myform.pic.value.length) fileext=fileext.toLowerCase() if ((fileext!='.jpg') && (fileext!='.gif') && (fileext!='.jpeg') && (fileext!='.png') && (fileext!='.bmp')) { alert('对不起,系统只支持指定格式的文件,请调整后重新上传') document.myform.pic.focus; } else { document.getElementById("syt").innerHTML="<img src='"+document.myform.pic.value+"' width='150px'>"; } } </script>
然后通过$_FILES函数,获得临时文件名,文件类型,文件尺寸,文件名等信息
用 is_uploaded_file 函数判断,用户是否上传了图片,然后用mkdir创建文件夹,
使用$newfile=date('YmdHis'); $filename=$dir."/".$newfile.$ext; 自定义上传的文件名
最后,用move_uploaded_file函数来实现把文件从临时区移动到指定的文件夹
<? header('Content-Type:text/html; charset=utf-8'); include('function.php'); $error=$_FILES['pic']['error']; $name=$_FILES['pic']['name']; $tmp_name=$_FILES['pic']['tmp_name']; $type=$_FILES['pic']['type']; $size=$_FILES['pic']['size']; if($name<>"") { $ext=substr($name,-4); if($ext!='.jpg' && $ext!='.bmp' && $ext!='.gif' && $ext!='.png' && $ext!='jpeg') { echo "<script language='javascript'>alert('您选择的图片格式不正确');history.go(-1);</script>"; } else { if(is_uploaded_file($tmp_name)) { $dir=date('Y-m-d'); mk($dir); $newfile=date('YmdHis'); $filename=$dir."/".$newfile.$ext; if(!move_uploaded_file($tmp_name,$filename)) { echo "<script language='javascript'>alert('对不起,文件移动失败');history.go(-1);</script>"; exit(); } else { echo "<script language='javascript'>alert('文件上传成功');location.href='upfile.php';</script>"; } } } } else { echo "<script language='javascript'>alert('请选择文件');history.go(-1);</script>"; } ?>