本文实例讲述了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
|
<?php
if ( $_REQUEST [ 'action' ]== "add" ){
$userfile = $HTTP_POST_FILES [ 'photo' ][ 'tmp_name' ];
$userfile_name = $HTTP_POST_FILES [ 'photo' ][ 'name' ];
$userfile_size = $HTTP_POST_FILES [ 'photo' ][ 'size' ];
$userfile_type = $HTTP_POST_FILES [ 'photo' ][ 'type' ];
/////////////////////////
//GET-DECLARE DIMENSIONS //
$dimension = getimagesize ( $userfile );
$large_width = $dimension [0]; // GET PHOTO WIDTH
$large_height = $dimension [1]; //GET PHOTO HEIGHT
$small_width = 120; // DECLARE THUMB WIDTH
$small_height = 90; // DECLARE THUMB HEIGHT
/////////////////////////
//CHECK SIZE //
if ( $userfile_size >102400){
$error =1;
$msg = "The photo is over 100kb. Please try again." ;
}
////////////////////////////////
// CHECK TYPE (IE AND OTHERS) //
if ( $userfile_type = "image/pjpeg" ){
if ( $userfile_type != "image/jpeg" ){
$error =1;
$msg = "The photo must be JPG" ;
}
}
//////////////////////////////
//CHECK WIDTH/HEIGHT //
if ( $large_width !=600 or $large_height !=400){
$error =1;
$msg = "The photo must be 600x400 pixels" ;
}
///////////////////////////////////////////
//CREATE THUMB / UPLOAD THUMB AND PHOTO ///
if ( $error <>1){
$image = $userfile_name ; //if you want to insert it to the database
$pic = imagecreatefromjpeg( $userfile );
$small = imagecreatetruecolor( $small_width , $small_height );
imagecopyresampled( $small , $pic ,0,0,0,0, $small_width , $small_height , $large_width , $large_height );
if (imagejpeg( $small , "path/to/folder/to/upload/thumb" . $userfile_name , 100)){
$large = imagecreatetruecolor( $large_width , $large_height );
imagecopyresampled( $large , $pic ,0,0,0,0, $large_width , $large_height , $large_width , $large_height );
if (imagejpeg( $large , "path/to/folder/to/upload/photo" . $userfile_name , 100))
{}
else { $msg = "A problem has occured. Please try again." ; $error =1;}
}
else {
$msg = "A problem has occured. Please try again." ; $error =1;
}
}
//////////////////////////////////////////////
/// If everything went right a photo (600x400) and
/// a thumb(120x90) were uploaded to the given folders
}
?>
<html><head><title>create thumb</title></head>
<body>
<form name= "form1" enctype= "multipart/form-data" action= "thisfile.php?action=add" method= "post" >
Select Photo: <input type= "file" name= "photo" >
<input type= "submit" name= "submit" value= "CREATE THUMB AND UPLOAD" >
</form>
</body
</html>
|
希望本文所述对大家的php程序设计有所帮助。