我试图在我的网页上看到imageefilter()的预览.为此我使用了一个名为 "image_effect.php "的二级页面.这是代码:
<?php
$dir = 'C:\xampp\htdocs\Sviluppare siti web con PHP6, Apache, MySQL\Vari ed Esercizi\images';
if(isset($_GET['id']) && ctype_digit($_GET['id']) && file_exists($dir . '/' . $_GET['id'] . '.jpg')) {
$image = imagecreatefromjpeg($dir . '/' . $_GET['id'] . '.jpg');
} else {
die("Invalid image specified");
}
$effect = (isset($_GET['e'])) ? $_GET['e'] : -1;
switch ($effect) {
case IMG_FILTER_NEGATE:
imagefilter($image, IMG_FILTER_NEGATE);
break;
case IMG_FILTER_GRAYSCALE:
imagefilter($image, IMG_FILTER_GRAYSCALE);
break;
case IMG_FILTER_EMBOSS:
imagefilter($image, IMG_FILTER_EMBOSS);
break;
case IMG_FILTER_GAUSSIAN_BLUR:
imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
break;
}
header('Content-Type: image/jpeg');
imagejpeg($image, '', 100);
?>
显然,通过image_effect.php页面,我可以在不覆盖保存在 "images "中的图片的情况下看到效果。
目录 $dir
是正确的,文件的名称是 $_GET['id'].jpg
.如果我在第一页使用预览功能,我无法看到图片,如果我直接打开image_effect.php,结果就是这样。
L’immagine “http://localhost/Sviluppare%20siti%20web%20con%20PHP6,%20Apache,%20MySQL/Vari%20ed%20Esercizi/image_effect.php?id=1&e=1” non può essere visualizzata poiché contiene degli errori.
相反,如果我保存图片的效果,而不显示预览,我可以看到正确的图像。
这是在我的第一页显示图片的代码。
<?php
if ($_POST['submit'] == 'Upload' || $_POST['submit'] == 'Save') {
$imagename = 'images/' . $image_id . '.jpg';
} else {
$imagename = 'image_effect.php?id=' . $image_id . '&e=' . $_POST['effect'];
}
?>
<img src="<?php echo $imagename; ?>" style="float: left;">
对不起,我的英语不好,谢谢你的帮助。