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;
}