在php中获取已调整大小的图像的宽度和高度

时间:2012-05-19 14:54:33

标签: php image resize

我有一个图片上传器,可以创建许多尺寸的上传图片:

// Variables
$alpha = $_GET['a'];
$method = $_GET['m'];
$extension = $_GET['e'];

// Configuration
$methods = array
(
'original'  =>  true,
'icon'      =>  array(48, 48),
'small'     =>  array(110, 80),
'medium'    =>  array(360, 0),
'square'    =>  array(186, 186)
);

这是图像的输出:

// Output
public function output($method)
{
    echo '<img src="'.WEB.$method.'/'.$this->alpha().'.'.$this->extension.'" width="" height="" alt="'.stripslashes($this->title).'" title="'.stripslashes($this->title).'"/>';
}

我想用$ methods数组填充图像的宽度和高度,我试过这个:

$r_width = $methods[$method][0];
$r_height = $methods[$method][1];

(...)  width="'.$this->r_width.'" height="'.$this->r_height.'"  (...)

但它没有显示任何内容。怎么了?

如果它可以提供帮助,这里是resizer.php(http://pastebin.com/gpP4mWSL)和图像类(http://pastebin.com/etJARPeY

编辑:在视图页面上,以下是我显示图像的方式:

<a href="<?php echo WEB.$image->alpha(); ?>/"><?php $image->output('small'); ?></a>

2 个答案:

答案 0 :(得分:0)

检查您是否可以使用此功能获取图像的高度和宽度getimagesize

答案 1 :(得分:0)

您是否正在设置图像类参数r_width和r_height?

您的代码中应该包含以下内容:

<?php
$image = new Image();
(...)
$image->r_width = $r_width;
$image->r_height = $r_height;
(...)
$image->output($method);
?>