Php使用image gd调整大小不显示图像,但执行大小调整
我在这个问题上做了很多研究,但仍然。。。 我有一个php代码,可以使用库Gd调整图像大小,但问题是,调整大小后,它不会显示图像。 这是密码 文件名resize.phpPhp使用image gd调整大小不显示图像,但执行大小调整,php,image,gd,Php,Image,Gd,我在这个问题上做了很多研究,但仍然。。。 我有一个php代码,可以使用库Gd调整图像大小,但问题是,调整大小后,它不会显示图像。 这是密码 文件名resize.php <?php /* * PHP function to resize an image maintaining aspect ratio * http://salman-w.blogspot.com/2008/10/resize-images-using-phpgd-library.html * * Creates a
<?php
/*
* PHP function to resize an image maintaining aspect ratio
* http://salman-w.blogspot.com/2008/10/resize-images-using-phpgd-library.html
*
* Creates a resized (e.g. thumbnail, small, medium, large)
* version of an image file and saves it as another file
*/
define('THUMBNAIL_IMAGE_MAX_WIDTH', 150);
define('THUMBNAIL_IMAGE_MAX_HEIGHT', 150);
function generate_image_thumbnail($source_image_path, $thumbnail_image_path)
{
list($source_image_width, $source_image_height, $source_image_type) = getimagesize($source_image_path);
switch ($source_image_type) {
case IMAGETYPE_GIF:
$source_gd_image = imagecreatefromgif($source_image_path);
break;
case IMAGETYPE_JPEG:
$source_gd_image = imagecreatefromjpeg($source_image_path);
break;
case IMAGETYPE_PNG:
$source_gd_image = imagecreatefrompng($source_image_path);
break;
}
if ($source_gd_image === false) {
return false;
}
$source_aspect_ratio = $source_image_width / $source_image_height;
$thumbnail_aspect_ratio = THUMBNAIL_IMAGE_MAX_WIDTH / THUMBNAIL_IMAGE_MAX_HEIGHT;
if ($source_image_width <= THUMBNAIL_IMAGE_MAX_WIDTH && $source_image_height <= THUMBNAIL_IMAGE_MAX_HEIGHT) {
$thumbnail_image_width = $source_image_width;
$thumbnail_image_height = $source_image_height;
} elseif ($thumbnail_aspect_ratio > $source_aspect_ratio) {
$thumbnail_image_width = (int) (THUMBNAIL_IMAGE_MAX_HEIGHT * $source_aspect_ratio);
$thumbnail_image_height = THUMBNAIL_IMAGE_MAX_HEIGHT;
} else {
$thumbnail_image_width = THUMBNAIL_IMAGE_MAX_WIDTH;
$thumbnail_image_height = (int) (THUMBNAIL_IMAGE_MAX_WIDTH / $source_aspect_ratio);
}
$thumbnail_gd_image = imagecreatetruecolor($thumbnail_image_width, $thumbnail_image_height);
imagecopyresampled($thumbnail_gd_image, $source_gd_image, 0, 0, 0, 0, $thumbnail_image_width, $thumbnail_image_height, $source_image_width, $source_image_height);
imagejpeg($thumbnail_gd_image, $thumbnail_image_path, 90);
imagedestroy($source_gd_image);
imagedestroy($thumbnail_gd_image);
return true;
}
generate_image_thumbnail('sql/max.jpg', 'sql/thumbnail_image_width_max.jpg');
?>
在index.php中,我做了如下操作
<img src="resize.php"/>
问题是它调整了图像的大小,但在我执行
操作时,它不会显示图像,但图像仍然存在,如
中所示。但是如果不执行
操作,我甚至不知道如何调整图像的大小,以便可以直接使用
或直接使用
显示图像
谢谢你的帮助。希望这次我的问题不会再以负号出现。让我来帮你。
该函数工作正常,因此,我认为您的问题在于index.php
。
在该文件中添加:
include("resize.php"); //to include the function.
然后调用函数并检查工作是否正常
$result=generate_image_thumbnail('sql/max.jpg', 'sql/thumbnail_image_width_max.jpg');
if($result)
echo '<img src="sql/thumbnail_image_width_max.jpg"/>';
else
echo "error in image function";
$result=generate_image_缩略图('sql/max.jpg','sql/thumbnail_image_width_max.jpg');
如果($结果)
回声';
其他的
echo“图像功能错误”;