本文实例讲述了php文件上传类。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
/**
$file=new class_file($file_array,"flash/");
$file->set_allow_type(array("jpg","jpeg","gif"));
$file->is_limit_size();
if(!$file->allow_file_size()){
echo $file->error;
exit;
}
if(!$file->allow_file_type()){
echo $file->error;
exit();
}else if(!$file->uploadfile()){
echo $file->error;
exit;
}
**/
<?php
class class_file{
private $file_type ;
private $file_size ;
private $save_path ;
private $file_path ;
private $allow_type = array ();
private $allow_size ;
private $file_name ;
private $flag =false;
private $mime_type ;
private $is_limit_size =false;
public $error ;
//构造函数
function class_file( $file_array , $save_path ){
$this ->file_path= $file_array [ 'tmp_name' ];
$this ->file_size= $file_array [ 'size' ];
$this ->file_type= $file_array [ 'type' ];
$this ->save_path= $save_path ;
}
//设置允许的文件类型
function set_allow_type( $allow_type ){
$this ->allow_type= $allow_type ;
}
//设置允许的文件大小
function set_allow_size( $allow_size ){
$this ->allow_size= $allow_size ;
}
//文件上传
public function uploadfile(){
if (! $this ->allow_file_type()){
$this ->file_name();
}
if (move_uploaded_file( $this ->file_path, $this ->save_path. $this ->file_name)){
return true;
} else {
$this ->error= "文件上传失败" ;
return ;
}
}
//判断文件上传的类型
function allow_file_type(){
$this ->file_name();
if (in_array( $this ->mime_type, $this ->allow_type)){
return true;
} else {
$this ->error= "不允许上传的类型" ;
exit ();
}
}
//判断文件上传的大小
function allow_file_size( $size =100){
if ( $this ->is_limit_size){
$this ->set_allow_size( $size );
if ( $this ->allow_size>= $this ->file_size){
return true;
} else {
$this ->error= "超过文件上传大小限制" ;
}
}
}
//是否限制文件大小
function is_limit_size(){
$this ->is_limit_size=true;
}
//文件类型和文件名称
function file_name(){
$this ->mime_type= substr ( $this ->file_type, strpos ( $this ->file_type, "/" )+1);
if ( $this ->mime_type== "pjpeg" ){
$this ->mime_type= "jpg" ;
}
if ( $this ->mime_type== "x-ms-wma" ){
$this ->mime_type= "wma" ;
}
if ( $this ->mime_type== "x-ms-wmv" ){
$this ->mime_type= "wmv" ;
}
$this ->file_name= date ( "YmdHis" ). ".$this->mime_type" ;
}
function _get_file_name(){
return $this ->file_name;
}
}
?>
|
希望本文所述对大家PHP程序设计有所帮助。