1、HTML表单
<form method="post" action="a.php" enctype="multipart/form-data"> <input type="file" name="myfile"> <input type="submit" name="sub" value="提交"> </form>
2、php处理页面
<?php include('functions.php'); if(!isset($_FILES['myfile'])) die('未知错误'); $myfile=$_FILES['myfile']; show($myfile); if($myfile['error']!=0) die('上传失败!错误编号'.$myfile['error']); //上传文件类型过滤 $typelist=array('image/jpeg','image/gif','image/png'); if(!in_array($myfile['type'],$typelist)) die('文件类型非法'); //文件保存路径,将上传文件按日期保存在相应的文件夹中 $savedir="./upload/".date('Ymd'); if(!is_dir($savedir)) mkdir($savedir); //定义上传后的文件名(日期+随机数.后缀(保持后缀名不变)) do{ $newname=date('ymd').rand(1,3).'.'.pathinfo($myfile['name'],PATHINFO_EXTENSION); $path= $savedir.'/'.$newname;//带文件名的完整路径 }while(file_exists($path)); if(!is_uploaded_file($myfile['tmp_name'])) die('文件不是通过 HTTP POST 上传的 '); if(move_uploaded_file($myfile['tmp_name'], $path)){ s('文件上传成功'); }else{ e('文件上传失败'); }
3、functions.php
<?php //输出变量 function show($var){ if($var==null){ echo 'null'; }elseif(is_array($var) || is_object($var)){ echo "<pre>"; print_r($var); echo "</pre>"; }else{ echo $var; } } //错误提示 function e($error_message=null){ echo "error! ".$error_message; } //成功提示 function s($success_message=null){ echo "success! ".$success_message; }