<Meta http-equiv = "Content-Type" content = "text/html; charset = UTF-8"/> <? Php /*************************************** *************************************** 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; **************************************** **************************************/ // 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.bKjia. c0m/"; // 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 "Echo "alt =" image preview: r file name: ". $ destination." r upload time: "> "; } } ?> </Body> </Html> |