load_image.php

来自「eGroupWare is a multi-user, web-based gr」· PHP 代码 · 共 142 行

PHP
142
字号
<?/************************************************************************* Title.........:  Online Manipulation of Images** Version.......:  1.0** Author........:  Xiang Wei ZHUO <wei@zhuo.org>** Filename......:  load_image.php** Last changed..:  30 Aug 2003 ** Notes.........:  Configuration in config.inc.php                    Uses the GD, ImageMagic or NetPBM to manipulate                   images online. ImageMagic is preferred as it provides                   the best rotation algorithm. Below is a brief comparsion                   of the image manipulation packages. Personal preference                   is ImageMagick.                              |     GD     | NetPBM | ImageMagick                   ------------------------------------------------                   GIF             NO(1)     YES        YES                   JPEG            YES(2)    YES        YES                   PNG             YES       YES        YES                   Cropping        Good      Good       Good                   Scaling         Fair      Good       Very Good                   Rotation        Poor      Fair       Very Good                   Flip            Good      Poor       Good                                      (1) GIF is support in old GD say version 1.61 and below                   (2) Full colour JPEG is not supported in GD versions                       less than 2.01 with PHP.***********************************************************************///***************************************************************************include '../ImageManager/config.inc.php';// set this to whatever subdir you make$path = $BASE_ROOT.'/';//$path = $BASE_DIR.'/';//***************************************************************************//echo $path;require_once 'Transform.php';$action = '';//get the image file$img_file = $_GET['img'];if($img_file != '') {    $path_info = pathinfo(urldecode($img_file));    $path = $path_info['dirname']."/";    $img_file = $path_info['basename'];}//var_dump($path);//var_dump($path_info);//get the parametersif (isset($_GET['action']))    $action = $_GET['action'];if (isset($_GET['params']))    $params = $_GET['params'];if(isset($_GET['file'])) {    $save_file = urldecode($_GET['file']);}//manipulate the image if the parameters are validif(isset($params)) {    $values =  explode(',',$params,4);    if(count($values)>0) {        $file = manipulate($img_file, $action, $values);    }}//manipulate the imagesfunction manipulate($img_file, $action, $values){    global $path, $save_file, $BASE_DIR,$BASE_ROOT;	$img_location=$BASE_DIR.$BASE_ROOT.'/';    //Load the Image Manipulation Driver    $img = Image_Transform::factory(IMAGE_CLASS);		$img->load($img_location.$img_file);    switch ($action) {        case 'crop':            $img->crop(intval($values[0]),intval($values[1]),intval($values[2]),intval($values[3]));        break;    case 'scale':            $img->resize(intval($values[0]),intval($values[1]));        break;    case 'rotate':            $img->rotate(floatval($values[0]));        break;    case 'flip':        if ($values[0] == 'hoz')            $img->flip(true);        else if($values[0] == 'ver')             $img->flip(false);        break;    case 'save':        if (isset($save_file))        {            $quality = intval($values[1]);            if($quality <0)                $quality = 85;            $img->save($img_location.$save_file, $values[0], $quality);        }        break;    }    //get the unique file name    $filename = $img->createUnique($img_location);    //save the manipulated image     $img->save($img_location.$filename);    $img->free();    $imagesize = @getimagesize($filename);    return array($filename, $imagesize[3]);}//well, let say the image was not manipulated, or no action parameter was given//we will get the image dimension anyway.$image = $img_file;$size = @getimagesize($image);$dimensions = $size[3];if (isset($file) && is_array($file)){    $image = $file[0];    $dimensions = $file[1];}//now display the image with include 'man_image.html';?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?