PHP文件上传

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

  

 

posted @ 2017-10-27 11:09  yolo_bean  阅读(190)  评论(0编辑  收藏  举报