本文实例为大家分享php图片上传类,供大家参考,具体内容如下
调用方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php
header( "Content-Type:text/html; charset=utf-8" );
//类的实例化:
include ( "uppoo.php" ); //类的文件名是upoop.php
$up =newupphoto;
$submit = $_POST [ 'submit' ];
if ( $submit == "上传" ){
$up ->get_ph_tmpname( $_FILES [ 'photo' ][ 'tmp_name' ]);
$up ->get_ph_type( $_FILES [ 'photo' ][ 'type' ]);
$up ->get_ph_size( $_FILES [ 'photo' ][ 'size' ]);
$up ->get_ph_name( $_FILES [ 'photo' ][ 'name' ]);
$up ->save();
}
?>
//上传图片的HTML:
<form action= "upphoto.php?action=act" method= "post" enctype= "multipart/form-data" >
图片来源:<input type= "file" name= "photo" >
<input type= "submit" name= "submit" value= "上传" >
|
上传类,保存文件名称为 uppoo.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
|
<?php
class upphoto{
public $previewsize =0.125 ; //预览图片比例
public $preview =0; //是否生成预览,是为1,否为0
public $datetime ; //随机数
public $ph_name ; //上传图片文件名
public $ph_tmp_name ; //图片临时文件名
public $ph_path = "./userimg/" ; //上传文件存放路径
public $ph_type ; //图片类型
public $ph_size ; //图片大小
public $imgsize ; //上传图片尺寸,用于判断显示比例
public $al_ph_type = array ( 'image/jpg' , 'image/jpeg' , 'image/png' , 'image/pjpeg' , 'image/gif' , 'image/bmp' , 'image/x-png' ); //允许上传图片类型
public $al_ph_size =1000000; //允许上传文件大小
function __construct(){
$this ->set_datatime();
}
function set_datatime(){
$this ->datetime= date ( "YmdHis" );
}
//获取文件类型
function get_ph_type( $phtype ){
$this ->ph_type= $phtype ;
}
//获取文件大小
function get_ph_size( $phsize ){
$this ->ph_size= $phsize . "<br>" ;
}
//获取上传临时文件名
function get_ph_tmpname( $tmp_name ){
$this ->ph_tmp_name= $tmp_name ;
$this ->imgsize= getimagesize ( $tmp_name );
}
//获取原文件名
function get_ph_name( $phname ){
$this ->ph_name= $this ->ph_path. $this ->datetime. strrchr ( $phname , "." ); //strrchr获取文件的点最后一次出现的位置
//$this->ph_name=$this->datetime.strrchr($phname,"."); //strrchr获取文件的点最后一次出现的位置
return $this ->ph_name;
}
// 判断上传文件存放目录
function check_path(){
if (! file_exists ( $this ->ph_path)){
mkdir ( $this ->ph_path);
}
}
//判断上传文件是否超过允许大小
function check_size(){
if ( $this ->ph_size> $this ->al_ph_size){
$this ->showerror( "上传图片超过2000KB" );
}
}
//判断文件类型
function check_type(){
if (!in_array( $this ->ph_type, $this ->al_ph_type)){
$this ->showerror( "上传图片类型错误" );
}
}
//上传图片
function up_photo(){
if (!move_uploaded_file( $this ->ph_tmp_name, $this ->ph_name)){
$this ->showerror( "上传文件出错" );
}
}
//图片预览
function showphoto(){
if ( $this ->preview==1){
if ( $this ->imgsize[0]>2000){
$this ->imgsize[0]= $this ->imgsize[0]* $this ->previewsize;
$this ->imgsize[1]= $this ->imgsize[1]* $this ->previewsize;
}
echo ( "<img src=\"{$this->ph_name}\" width=\"{$this->imgsize['0']}\" height=\"{$this->imgsize['1']}\">" );
}
}
//错误提示
function showerror( $errorstr ){
echo "<script language=java script>alert('$errorstr');location='java script:history.go(-1);';</script>" ;
exit ();
}
function save(){
$this ->check_path();
$this ->check_size();
$this ->check_type();
$this ->up_photo();
$this ->showphoto();
}
}
?>
|
以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。