我正在使用我发现生成缩略图的脚本,但是我在第3行和第4行的第一个中遇到错误。我猜其中一个函数已被弃用(它已经一年了),但是我真的不知道。 GD支持已启用。我正在阅读相关的问题,并意识到有一些我没有得到isset
,但我不知道如何为'图像'和'宽度'写这个,它似乎也设置了在接下来的几行中。所有帮助表示赞赏。
注意:未定义索引:图像输入 第3行的C:\ xampp \ htdocs \ thumbnail \ thumbnail.php
注意:未定义的索引:第4行的C:\ xampp \ htdocs \ thumbnail \ thumbnail.php中的宽度
<?php
$imageSrc = (string)$_GET['image'];
$width = $_GET['width'];
if (is_numeric($width) && isset($imageSrc)){
header('Content-type: image/jpeg');
makeThumb($imageSrc, $width);
}
function makeThumb($src,$newWidth) {
// read the source image given
$srcImage = imagecreatefromjpeg($src);
$width = imagesx($srcImage);
$height = imagesy($srcImage);
// find the height of the thumb based on the width given
$newHeight = floor($height*($newWidth/$width));
// create a new blank image
$newImage = imagecreatetruecolor($newWidth,$newHeight);
// copy source image to a new size
imagecopyresized($newImage,$srcImage,0,0,0,0,$newWidth,$newHeight,$width,$height);
// create the thumbnail
imagejpeg($newImage);
}
?>
我意识到为每个页面加载动态生成脚本效率不高,但我只是想尝试一些工作。
我做了劳伦斯建议的第三个改变,我仍然收到错误:
注意:未定义的变量:宽度为 第13行的C:\ xampp \ htdocs \ thumbnail \ thumbnail.php
答案 0 :(得分:1)
您需要在使用前检查设置:
更改:强>
$imageSrc = (string)$_GET['image'];
$width = $_GET['width'];
到
$imageSrc = (isset($_GET['image']))?$_GET['image']:null;
$width = (isset($_GET['width']))?$_GET['width']:null;
或if else方式
if(isset($_GET['image'])){$imageSrc = $_GET['image'];}else{$imageSrc =null;}
if(isset($_GET['width'])){$width = $_GET['width'];}else{$width =null;}
或者你可以忘记2行,只需:
if (isset($_GET['width']) && is_numeric($_GET['width']) && isset($_GET['image'])){
header('Content-type: image/jpeg');
makeThumb(basename($_GET['image']), $_GET['width']);
}
答案 1 :(得分:0)
使用isset
尝试
$imageSrc = isset($_GET['image']) ? $_GET['image'] : null;
$width = isset($_GET['width']) ? $_GET['width'] : null ;