码迷,mamicode.com
首页 > Web开发 > 详细

文件上传,判断文件错误类型

时间:2015-01-24 12:58:27      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

HTML代码上传文件:

<form action="doAction.php" method="post" enctype="multipart/form-data">
  请选择上传文件:<input type="file" name="myFile" /><br />
  <input type="submit" value="上传" />

doAction.php文件代码:

<meta charset="utf-8">
<?php
//files
//print_r($_FILES);

$filename=$_FILES[‘myFile‘][‘name‘];
$type=$_FILES[‘myFile‘][‘type‘];
$tmp_name=$_FILES[‘myFile‘][‘tmp_name‘];
$error=$_FILES[‘myFile‘][‘error‘];
$size=$_FILES[‘myFile‘][‘size‘];

//判断下错误信息
if($error==UPLOAD_ERR_OK) {
	//需要判断下文件是否是通过HTTP POST方式上传
	//is_uploaded_file($tmp_name,$destination);
	//$destination="uploads/".$filename;
	$destination="uploads/".$filename;
	if(is_uploaded_file($tmp_name)) {
		if(move_uploaded_file($tmp_name,$destination)) {
			$mes="文件上传成功";
		}else {
			$mes="文件移动失败";
		}
	}else {
		$mes="文件不是通过HTTP POST方式上传上来的";
	}
	
}else {
	switch($error) {
		case 1:
			$mes="超过了配置文件上传文件的大小";  //  UPLOAD_ERR_INI_SIZE
			break;
		case 2:
			$mes="超过了表单设置上传文件的大小";  //  UPLOAD_ERR_FORM_SIZE
			break;
		case 3:
			$mes="文件部分被上传";  //  UPLOAD_ERR_PARTIAL
			break;
		case 4:
			$mes="没有文件被上传";  //  UPLOAD_ERR_NO_FILE
			break;
		case 6:
			$mes="没有找到临时目录";  //  UPLOAD_ERR_NO_TMP_DIR
			break;
		case 7:
			$mes="文件不可写";  //UPLOAD_ERR_CANT_WRITE
			break;
		case 8:
			$mes="由于扩展文件中断了文件上传";  // UPLOAD_ERR_EXTENSION
			break;
	}
}
echo $mes;

//服务器端进行的配置  是在配置环境中php.ini中的配置
//file_uploads = On  支持通过HTTP POST方式上传文件
//;upload_tmp_dir =   临时文件保存目录
//upload_max_filesize = 2M  默认值是2M,上传的最大大小是2M
//post_max_size = 8M  表单以POST方式发送数据的最大值,默认8M

//客户端进行配置
//<input type="hidden" name="MAX_FILE_SIZE" value="1024" />  这里就是case 2判断是否错误的类型
//<input type="file" name="myFile" accept="文件的MIME类型,..."/>

 

文件上传,判断文件错误类型

标签:

原文地址:http://www.cnblogs.com/jacson/p/4245646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!