Reference content is as follows: /*************************************** ************** Parameter description: $ Max_file_size: size limit of the uploaded file, in bytes $ Destination_folder: File Upload path $ Watermark: whether to add a watermark. (1 indicates adding a watermark; others indicates not adding a watermark ); Instructions for use: 1. Remove the number before the line "extension = php_gd2.dll" in the PHP. ini file because the GD library is used; 2. Change extension_dir = to the directory where your php_gd2.dll is located; 3. http://www.knowsky.com/php.asp; **************************************** ************/ // 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; // size limit of uploaded files, in bytes $ Destination_folder = "uploadimg/"; // File Upload path $ Watermark = 1; // whether to add a watermark. (1 indicates adding a watermark. Otherwise, no watermark is added ); $ Watertype = 1; // watermark type (1 is text, 2 is image) $ Waterposition = 1; // watermark position (1 indicates the lower left corner, 2 indicates the lower right corner, 3 indicates the upper left corner, 4 indicates the upper right corner, and 5 indicates the center ); $ Waterstring = "http://www.xplore.cn/"; // watermark string $ Waterimg = "xplore.gif"; // watermark image $ Imgpreview = 1; // whether to generate a preview image (1 is generated, others are not generated ); $ Imgpreviewsize = 1/2; // thumbnail Ratio ?> <HTML> <Head> <Title> Zwell Image Upload Program </title> <Style type = "text/CSS"> <! -- Body { Font-size: 9pt; } Input { Background-color: #66 CCFF; Border: 1px inset # cccccc; } --> </Style> </Head> <Body> <Form enctype = "multipart/form-Data" method = "Post" name = "upform"> Upload files: <Input name = "upfile" type = "file"> <Input type = "Submit" value = "Upload"> <br> The file type that can be uploaded is: <? = Implode (',', $ uptypes)?> </Form> <? PHP If ($ _ server ['request _ method'] = 'post ') { If (! Is_uploaded_file ($ _ FILES ["upfile"] [tmp_name]) // Whether a file exists { Echo "the image does not exist! "; Exit; } $ File = $ _ FILES ["upfile"]; If ($ max_file_size <$ file ["size"]) // Check the file size { Echo "the file is too large! "; Exit; } If (! In_array ($ file ["type"], $ uptypes )) // Check the 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 "a file with the same name already exists "; Exit; } If (! Move_uploaded_file ($ filename, $ destination )) { Echo "An error occurred while moving the file "; Exit; } $ Pinfo = pathinfo ($ destination ); $ Fname = $ pinfo [basename]; Echo "<font color = Red> uploaded successfully </font> <br> File Name: <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 ); $ 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 types "); Exit; } Imagecopy ($ nimage, $ simage, 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 a watermark string Imagestring ($ nimage, 2, 3, $ image_size [1]-15, $ waterstring, $ black ); Break; Case 2: // Add a watermark image $ Simage1 = imagecreatefromgif ("xplore.gif "); Imagecopy ($ nimage, $ simage1 ); Imagedestroy ($ simage1 ); 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 the original uploaded file Imagedestroy ($ nimage ); Imagedestroy ($ simage ); } If ($ imgpreview = 1) { Echo "<br> image preview: <br> "; Echo "<ccid_file values =" \ "width =". ($ image_size [0] * $ imgpreviewsize )." Height = ". ($ image_size [1] * $ imgpreviewsize );" Echo "alt = \" image preview: \ r file name: ". $ destination." \ r upload time: \ "/> "; } } ?> </Body> </Html> |