<?php /****************************************************************************** Parameter description: $max _file_size: Upload file size limit, unit byte $destination _folder: Upload file path $watermark: Whether additional watermark (1 for Watermark, other for no watermark); Instructions for use: 1. Remove the "Extension=php_gd2.dll" line in front of the php.ini file, because we need to use the GD library; 2. Change Extension_dir = to the directory where your Php_gd2.dll is located; ******************************************************************************/ Upload file Type list $uptypes =array ( ' Image/jpg ', ' Image/jpeg ', ' Image/png ', ' Image/pjpeg ', ' Image/gif ', ' Image/bmp ', ' Image/x-png ' ); $max _file_size=2000000; //upload file size limit, unit byte $destination _folder= "uploadimg/"; Upload file path $watermark =1; //Whether additional watermarks (1 for Watermark, others for no watermark); $watertype =1; //Watermark type (1 for text, 2 for picture) $waterposition =1; // Watermark position (1 is lower left corner, 2 is lower right corner, 3 is upper left corner, 4 is upper right corner, 5 is centered); $waterstring = " http://www.xplore.cn/; //watermark string $waterimg =" Xplore.gif "; // Watermark Picture $imgpreview =1; //whether to generate a preview diagram (1 is build, others are not generated); $imgpreviewsize =1/2; //thumbnail scale <title> Zwell picture upload program </title> <style type= "Text/css" <!-- Body { font-size:9pt; } Input { background-color: #66CCFF; border:1px inset #CCCCCC; } </style> <body> <form enctype= "Multipart/form-data" method= "post" name= "Upform" > Upload file: <input name= "upfile" type= "File" > <input type= "Submit" value= "Upload" ><br> The types of files allowed to upload are: <?=implode (', ', $uptypes)?> </form> <?php if ($_server[' request_method '] = = ' POST ') { if (!is_uploaded_file ($_files["Upfile"][tmp_name)) Is there a file { echo "Picture does not exist!"; Exit } $file = $_files["Upfile"]; if ($max _file_size < $file ["size"]) Check File size { echo "file is too big!"; Exit } if (!in_array ($file ["type"], $uptypes)) Check file type { echo "file type does not match!". $file [' type ']; Exit } if (!file_exists ($destination _folder)) { mkdir ($destination _folder); } $filename = $file ["Tmp_name"]; $image _size = getimagesize ($filename); $pinfo =pathinfo ($file ["name"]); $ftype = $pinfo [' extension ']; $destination = $destination _folder.time (). "." $ftype; if (file_exists ($destination) && $overwrite!= True) { echo "file with the same name already exists"; Exit } if (!move_uploaded_file ($filename, $destination)) { echo "Move file Error"; Exit } $pinfo =pathinfo ($destination); $fname = $pinfo [basename]; echo "<font color=red> has been successfully uploaded </font><br> FileName: <font color=blue>". $destination _folder. $fname. " </font><br> "; echo "width:". $image _size[0]; echo "Length:". $image _size[1]; echo "<br> size:". $file ["Size"]. "bytes"; if ($watermark ==1) { $iinfo =getimagesize ($destination, $iinfo); $nimage =imagecreatetruecolor ($image _size[0], $image _size[1]); $white =imagecolorallocate ($nimage, 255,255,255); $black =imagecolorallocate ($nimage, 0,0,0); $red =imagecolorallocate ($nimage, 255,0,0); Imagefill ($nimage, 0,0, $white); Switch ($iinfo [2]) { Case 1: $simage =imagecreatefromgif ($destination); Break Case 2: $simage =imagecreatefromjpeg ($destination); Break Case 3: $simage =imagecreatefrompng ($destination); Break Case 6: $simage =imagecreatefromwbmp ($destination); Break Default Die ("Unsupported file type"); Exit } Imagecopy ($nimage, $simage, 0,0,0,0, $image _size[0], $image _size[1]); Imagefilledrectangle ($nimage, 1, $image _size[1]-15,80, $image _size[1], $white); switch ($watertype) { Case 1: //Add watermark string imagestring ($nimage, 2,3, $image _size[1]-15,$ Waterstring, $black); break; Case 2: //watermark Picture $simage 1 =imagecreatefromgif ("Xplore.gif"); imagecopy ($nimage, $simage 1,0,0,0,0,85,15 ); Imagedestroy ($simage 1); break; } Switch ($iinfo [2]) { Case 1: Imagegif ($nimage, $destination); Imagejpeg ($nimage, $destination); Break Case 2: Imagejpeg ($nimage, $destination); Break Case 3: Imagepng ($nimage, $destination); Break Case 6: Imagewbmp ($nimage, $destination); Imagejpeg ($nimage, $destination); Break } Overwrite original upload file Imagedestroy ($nimage); Imagedestroy ($simage); } if ($imgpreview ==1) { echo "<br> picture preview:<br>"; echo "echo "alt=\" Picture preview: \ r filename: ". $destination." \ r upload time: \ ">"; } } ?> </body>
|