<form method="post"action=""enctype="multipart/form-data"> <h3>缩略图显示上传的图片</h3> <input type="file"name="picture"><br> <input type="submit" name="submit" value="提交"> </form> <?php if(isset($_POST['submit'])) { $filename=$_FILES['picture']['name']; $type=$_FILES['picture']['type']; $upfile="image/small.jpeg"; $small_upfile="image/image_small.jpeg"; if(! $filename) { echo"<script>alert('文件不存在!')</script>"; } else if($type!='image/pjpeg') { echo"<script>alert('文件格式不正确!'></script>"; } else { move_uploaded_file($_FILES['picture']['tmp_name'],$upfile); $dst_w=150; $dst_h=150; $sre_image=imagecreatefromjpeg($upfile); $src_w=imagesx($src_image); $src_h=imagesy($src_image); $dst_image=imagecreatetruecolor($dst_w,$dst_h); imagecopyresized($dst_image,$src_image,0,0,0,0,$dst_w,$dst_h,$src_w,$sre_h); imagejpeg($dst_image,$small_upfile); echo"文件上传成功,缩略图如下:<br>"; echo"<img src=$small_upfile>"; imagedestroy($sre_image); imagedestroy($dst_image); } } ?>代码是否有问题?
时间: 2023-11-28 16:49:08 浏览: 75
有一些小问题需要修正:
1. 在使用 `imagecreatefromjpeg()` 函数创建源图像资源时,应该使用 `$sre_image` 作为变量名,而不是 `$src_image`。
2. 在使用 `imagecopyresized()` 函数进行缩略图处理时,应该使用 `$sre_image` 作为源图像资源变量名,而不是 `$src_image`。
3. 在使用 `imagejpeg()` 函数输出缩略图时,应该将参数 `$small_upfile` 改为 `null`,以直接输出图像流到浏览器。
修改后的代码如下:
```
<form method="post" action="" enctype="multipart/form-data">
<h3>缩略图显示上传的图片</h3>
<input type="file" name="picture"><br>
<input type="submit" name="submit" value="提交">
</form>
<?php
if(isset($_POST['submit'])) {
$filename = $_FILES['picture']['name'];
$type = $_FILES['picture']['type'];
$upfile = "image/small.jpeg";
$small_upfile = "image/image_small.jpeg";
if(! $filename) {
echo "<script>alert('文件不存在!')</script>";
}
else if($type != 'image/pjpeg') {
echo "<script>alert('文件格式不正确!')</script>";
}
else {
move_uploaded_file($_FILES['picture']['tmp_name'], $upfile);
$dst_w = 150;
$dst_h = 150;
$sre_image = imagecreatefromjpeg($upfile);
$src_w = imagesx($sre_image);
$src_h = imagesy($sre_image);
$dst_image = imagecreatetruecolor($dst_w, $dst_h);
imagecopyresized($dst_image, $sre_image, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h);
header('Content-Type: image/jpeg');
imagejpeg($dst_image, null);
imagedestroy($sre_image);
imagedestroy($dst_image);
}
}
?>
```
阅读全文