本文实例为大家分享了PHP AjaxForm提交图片上传并显示图片的具体代码,供大家参考,具体内容如下
PHP dofile.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
|
<?php
$file_upload = "upload/" ;
$file_allow_ext = 'gif|jpg|jpeg|png|gif|zip|rar|ppt|xls|pdf|pptx|xlsx|docx' ;
$file_allow_size = 5*1024*1024;
if ( $_POST [ 'submit' ]== "上传" ){
if ( is_uploaded_file ( $_FILES [ 'file' ][ 'tmp_name' ])){
$file_name = $_FILES [ 'file' ][ 'name' ];
$file_error = $_FILES [ 'file' ][ 'error' ];
$file_type = $_FILES [ 'file' ][ 'type' ];
$file_tmp_name = $_FILES [ 'file' ][ 'tmp_name' ];
$file_size = $_FILES [ 'file' ][ 'size' ];
$file_ext = substr ( $file_name , strrpos ( $file_name , '.' )+1);
switch ( $file_error ){
case 0:
$data [ 'status' ] = 0;
$data [ 'msg' ] = "文件上传成功!" ;
break ;
case 1:
$data [ 'status' ] = 1;
$data [ 'msg' ] = "文件上传失败,文件大小" . $file_size . "超过限制,允许上传大小" .sizeFormat( $file_allow_size ). "!" ;
break ;
case 3:
$data [ 'status' ] = 1;
$data [ 'msg' ] = "上传失败,文件只有部份上传!" ;
break ;
case 4:
$data [ 'status' ] = 1;
$data [ 'msg' ] = "上传失败,文件没有被上传!" ;
break ;
case 5:
$data [ 'status' ] = 1;
$data [ 'msg' ] = "文件上传失败,文件大小为0!" ;
break ;
}
if ( stripos ( $file_allow_ext , $file_ext )===false){
$data [ 'status' ] = 1;
$data [ 'msg' ] = "该文件扩展名不允许上传" ;
}
if ( $file_size > $file_allow_size ){
$data [ 'status' ] = 1;
$data [ 'msg' ] = "文件大小超过限制,只能上传" .sizeFormat( $file_allow_size ). "的文件!" ;
}
if ( $data [ 'status' ]==1){
$data [ 'status' ] = 1;
$data [ 'msg' ] = $data [ 'msg' ];
exit (json_encode( $data ));
}
if ( $data [ 'status' ]==0){
if ( file_exists ( $file_upload )){
$file_new_name = date ( "YmdHis" ). '_' .rand(10000,99999). '.' . $file_ext ;
$file_save_path = $file_upload . $file_new_name ;
$data [ 'status' ] = 0;
$data [ 'url' ] = $file_save_path ;
move_uploaded_file( $file_tmp_name , $file_save_path );
exit (json_encode( $data ));
} else {
exit (json_encode( $data ));
}
}
}
}
function sizeFormat( $size )
{
$sizeStr = '' ;
if ( $size <1024)
{
return $size . "bytes" ;
}
else if ( $size <(1024*1024))
{
$size = round ( $size /1024,1);
return $size . "KB" ;
}
else if ( $size <(1024*1024*1024))
{
$size = round ( $size /(1024*1024),1);
return $size . "MB" ;
}
else
{
$size = round ( $size /(1024*1024*1024),1);
return $size . "GB" ;
}
}
?>
|
HTML如下
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
|
< script type = "text/javascript" src = "http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js" ></ script >
< script type = "text/javascript" src = "http://files.cnblogs.com/files/china-li/jquery.form.js" ></ script >
< form action = "dofile.php" method = "post" enctype = "multipart/form-data" id = "upfileimage" >
< input type = "hidden" name = "image[]" />
< label for = "file" >文件:</ label >< input type = "file" name = "file" id = "file" />
< input type = "submit" name = "submit" value = "上传" />
</ form >
< script type = "text/javascript" >
$("#upfileimage").submit(function(){
if($("input[type=file]").val()==""){
alert("请选择要上传的文件");
return false;
}
})
$(function(){
var options = {
type:"POST",
dataType:"json",
resetForm:true,
success:function(o){
if(o.status==1){
alert(o.msg);
}else{
$("body").append(" < img src = '"+o.url+"' alt = '' width = '100' />< input type = 'hidden' name = 'image[]' value = '"+o.url+"' />");
}
},
error:function(o){
alert(o.message);
}
}
$("#upfileimage").ajaxForm(options).submit(function(){return false;});
})
</ script >
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。