芝麻web文件管理V1.00
编辑当前文件:/home/asmplong/www/upload_photos.php.tar
home/asmplong/www/asm/upload_photos.php 0000666 00000016355 15016737115 0014335 0 ustar 00
Go Back To Upload Form
'; for ($i=0; $i < $c; $i++) { $processImage = true; $RandomNumber = rand(0, 9999999999); // We need same random name for both files. if(!isset($ImageName[$i]) || !is_uploaded_file($TempSrc[$i])) { echo '
Error occurred while trying to process
'.$ImageName[$i].'
, may be file too big!
'; //output error } else { //Validate file + create image from uploaded file. switch(strtolower($ImageType[$i])) { case 'image/png': $CreatedImage = imagecreatefrompng($TempSrc[$i]); break; case 'image/gif': $CreatedImage = imagecreatefromgif($TempSrc[$i]); break; case 'image/jpeg': case 'image/pjpeg': $CreatedImage = imagecreatefromjpeg($TempSrc[$i]); break; default: $processImage = false; //image format is not supported! } //get Image Size list($CurWidth,$CurHeight)=getimagesize($TempSrc[$i]); //Get file extension from Image name, this will be re-added after random name $ImageExt = substr($ImageName[$i], strrpos($ImageName[$i], '.')); $ImageExt = str_replace('.','',$ImageExt); //Construct a new image name (with random number added) for our new image. $NewImageName = $RandomNumber.'.'.$ImageExt; //Set the Destination Image path with Random Name $thumb_DestRandImageName = $ThumbDestinationDirectory.$ThumbPrefix.$NewImageName; //Thumb name $DestRandImageName = $DestinationDirectory.$NewImageName; //Name for Big Image //Resize image to our Specified Size by calling resizeImage function. if($processImage && resizeImage($CurWidth,$CurHeight,$BigImageMaxSize,$DestRandImageName,$CreatedImage,$Quality,$ImageType[$i])) { //Create a square Thumbnail right after, this time we are using cropImage() function if(!cropImage($CurWidth,$CurHeight,$ThumbSquareSize,$thumb_DestRandImageName,$CreatedImage,$Quality,$ImageType[$i])) { echo 'Error Creating thumbnail'; } /* At this point we have succesfully resized and created thumbnail image We can render image to user's browser or store information in the database For demo, we are going to output results on browser. */ //Get New Image Size list($ResizedWidth,$ResizedHeight)=getimagesize($DestRandImageName); echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; /* Insert info into database table!*/ $sql_insert_photo = "INSERT INTO photos SET titre_photos='$_POST[titre_photos]',fichier_photos='$NewImageName', alb_photos='$_POST[select_album]', id_membre_photos ='$_POST[id_membre]'"; $req_insert_photo = mysql_query($sql_insert_photo); }else{ echo '
Error occurred while trying to process
'.$ImageName[$i].'
! Please check if file is supported
'; //output error } } } echo ''; } } // This function will proportionally resize image function resizeImage($CurWidth,$CurHeight,$MaxSize,$DestFolder,$SrcImage,$Quality,$ImageType) { //Check Image size is not 0 if($CurWidth <= 0 || $CurHeight <= 0) { return false; } //Construct a proportional size of new image $ImageScale = min($MaxSize/$CurWidth, $MaxSize/$CurHeight); $NewWidth = ceil($ImageScale*$CurWidth); $NewHeight = ceil($ImageScale*$CurHeight); if($CurWidth < $NewWidth || $CurHeight < $NewHeight) { $NewWidth = $CurWidth; $NewHeight = $CurHeight; } $NewCanves = imagecreatetruecolor($NewWidth, $NewHeight); // Resize Image if(imagecopyresampled($NewCanves, $SrcImage,0, 0, 0, 0, $NewWidth, $NewHeight, $CurWidth, $CurHeight)) { switch(strtolower($ImageType)) { case 'image/png': imagepng($NewCanves,$DestFolder); break; case 'image/gif': imagegif($NewCanves,$DestFolder); break; case 'image/jpeg': case 'image/pjpeg': $exif = exif_read_data($NewCanves); if (!empty($exif['Orientation'])) { $image = imagecreatefromjpeg($NewCanves); switch ($exif['Orientation']) { case 3: $NewCanves = imagerotate($NewCanves, 180, 0); break; case 6: $NewCanves = imagerotate($NewCanves, 90, 0); break; case 8: $NewCanves = imagerotate($NewCanves, -90, 0); break; } } imagejpeg($NewCanves,$DestFolder,$Quality); break; default: return false; } if(is_resource($NewCanves)) { imagedestroy($NewCanves); } return true; } } //This function corps image to create exact square images, no matter what its original size! function cropImage($CurWidth,$CurHeight,$iSize,$DestFolder,$SrcImage,$Quality,$ImageType) { //Check Image size is not 0 if($CurWidth <= 0 || $CurHeight <= 0) { return false; } //abeautifulsite.net has excellent article about "Cropping an Image to Make Square" //http://www.abeautifulsite.net/blog/2009/08/cropping-an-image-to-make-square-thumbnails-in-php/ if($CurWidth>$CurHeight) { $y_offset = 0; $x_offset = ($CurWidth - $CurHeight) / 2; $square_size = $CurWidth - ($x_offset * 2); }else{ $x_offset = 0; $y_offset = ($CurHeight - $CurWidth) / 2; $square_size = $CurHeight - ($y_offset * 2); } $NewCanves = imagecreatetruecolor($iSize, $iSize); if(imagecopyresampled($NewCanves, $SrcImage,0, 0, $x_offset, $y_offset, $iSize, $iSize, $square_size, $square_size)) { switch(strtolower($ImageType)) { case 'image/png': imagepng($NewCanves,$DestFolder); break; case 'image/gif': imagegif($NewCanves,$DestFolder); break; case 'image/jpeg': case 'image/pjpeg': imagejpeg($NewCanves,$DestFolder,$Quality); break; default: return false; } if(is_resource($NewCanves)) { imagedestroy($NewCanves); } return true; } } home/asmplong/www/admin/upload_photos.php 0000666 00000015634 15016776643 0014655 0 ustar 00
Go Back To Upload Form
'; for ($i=0; $i < $c; $i++) { $processImage = true; $RandomNumber = rand(0, 9999999999); // We need same random name for both files. if(!isset($ImageName[$i]) || !is_uploaded_file($TempSrc[$i])) { echo '
Error occurred while trying to process
'.$ImageName[$i].'
, may be file too big!
'; //output error } else { //Validate file + create image from uploaded file. switch(strtolower($ImageType[$i])) { case 'image/png': $CreatedImage = imagecreatefrompng($TempSrc[$i]); break; case 'image/gif': $CreatedImage = imagecreatefromgif($TempSrc[$i]); break; case 'image/jpeg': case 'image/pjpeg': $CreatedImage = imagecreatefromjpeg($TempSrc[$i]); break; default: $processImage = false; //image format is not supported! } //get Image Size list($CurWidth,$CurHeight)=getimagesize($TempSrc[$i]); //Get file extension from Image name, this will be re-added after random name $ImageExt = substr($ImageName[$i], strrpos($ImageName[$i], '.')); $ImageExt = str_replace('.','',$ImageExt); $Image_name = substr($ImageName[$i],0,-4); //Construct a new image name (with random number added) for our new image. $NewImageName = $Image_name.'_'.$RandomNumber.'.'.$ImageExt; //Set the Destination Image path with Random Name $thumb_DestRandImageName = $ThumbDestinationDirectory.$ThumbPrefix.$NewImageName; //Thumb name $DestRandImageName = $DestinationDirectory.$NewImageName; //Name for Big Image //Resize image to our Specified Size by calling resizeImage function. if($processImage && resizeImage($CurWidth,$CurHeight,$BigImageMaxSize,$DestRandImageName,$CreatedImage,$Quality,$ImageType[$i])) { //Create a square Thumbnail right after, this time we are using cropImage() function if(!cropImage($CurWidth,$CurHeight,$ThumbSquareSize,$thumb_DestRandImageName,$CreatedImage,$Quality,$ImageType[$i])) { echo 'Error Creating thumbnail'; } /* At this point we have succesfully resized and created thumbnail image We can render image to user's browser or store information in the database For demo, we are going to output results on browser. */ //Get New Image Size list($ResizedWidth,$ResizedHeight)=getimagesize($DestRandImageName); echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; echo '
'; /* Insert info into database table!*/ $sql_insert_photo = "INSERT INTO ".$db_prefixe."photos SET titre_photos='$_POST[titre_photos]',fichier_photos='$NewImageName', alb_photos='$_POST[select_album]'"; $req_insert_photo = mysqli_query($connect,$sql_insert_photo); }else{ echo '
Error occurred while trying to process
'.$ImageName[$i].'
! Please check if file is supported
'; //output error } } } echo ''; } } // This function will proportionally resize image function resizeImage($CurWidth,$CurHeight,$MaxSize,$DestFolder,$SrcImage,$Quality,$ImageType) { //Check Image size is not 0 if($CurWidth <= 0 || $CurHeight <= 0) { return false; } //Construct a proportional size of new image $ImageScale = min($MaxSize/$CurWidth, $MaxSize/$CurHeight); $NewWidth = ceil($ImageScale*$CurWidth); $NewHeight = ceil($ImageScale*$CurHeight); if($CurWidth < $NewWidth || $CurHeight < $NewHeight) { $NewWidth = $CurWidth; $NewHeight = $CurHeight; } $NewCanves = imagecreatetruecolor($NewWidth, $NewHeight); // Resize Image if(imagecopyresampled($NewCanves, $SrcImage,0, 0, 0, 0, $NewWidth, $NewHeight, $CurWidth, $CurHeight)) { switch(strtolower($ImageType)) { case 'image/png': imagepng($NewCanves,$DestFolder); break; case 'image/gif': imagegif($NewCanves,$DestFolder); break; case 'image/jpeg': case 'image/pjpeg': imagejpeg($NewCanves,$DestFolder,$Quality); break; default: return false; } if(is_resource($NewCanves)) { imagedestroy($NewCanves); } return true; } } //This function corps image to create exact square images, no matter what its original size! function cropImage($CurWidth,$CurHeight,$iSize,$DestFolder,$SrcImage,$Quality,$ImageType) { //Check Image size is not 0 if($CurWidth <= 0 || $CurHeight <= 0) { return false; } //abeautifulsite.net has excellent article about "Cropping an Image to Make Square" //http://www.abeautifulsite.net/blog/2009/08/cropping-an-image-to-make-square-thumbnails-in-php/ if($CurWidth>$CurHeight) { $y_offset = 0; $x_offset = ($CurWidth - $CurHeight) / 2; $square_size = $CurWidth - ($x_offset * 2); }else{ $x_offset = 0; $y_offset = ($CurHeight - $CurWidth) / 2; $square_size = $CurHeight - ($y_offset * 2); } $NewCanves = imagecreatetruecolor($iSize, 180); if(imagecopyresampled($NewCanves, $SrcImage,0, -20, $x_offset, $y_offset, $iSize, $iSize, $square_size, $square_size)) { switch(strtolower($ImageType)) { case 'image/png': imagepng($NewCanves,$DestFolder); break; case 'image/gif': imagegif($NewCanves,$DestFolder); break; case 'image/jpeg': case 'image/pjpeg': imagejpeg($NewCanves,$DestFolder,$Quality); break; default: return false; } if(is_resource($NewCanves)) { imagedestroy($NewCanves); } return true; } }