【发布时间】:2012-11-13 23:47:37
【问题描述】:
我可以裁剪我的图像并单击裁剪。但后来出了点问题,因为我不知道如何保存这张图片。
我使用 php 中的 imagecreatefromjpeg。 这段代码如下所示:
<?php
SESSION_start();
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$targ_w = 200;
$targ_h = 400;
$jpeg_quality = 90;
$src = $_SESSION['target_path'];
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
$targ_w,$targ_h,$_POST['w'],$_POST['h']);
//header('Content-type: image/jpeg');
imagejpeg($dst_r, 'uploads/cropped/' . 'filename');
exit;
}
?>
我保存原始图像的 php 代码如下所示:
<?php
session_start();
$target = "uploads/";
$target = $target . basename( $_FILES['filename']['name']) ;
$_SESSION['target_path'] = $target;
$ok=1;
if(move_uploaded_file($_FILES['filename']['tmp_name'], $target))
{
echo "De afbeelding *". basename( $_FILES['filename']['name']). "* is geupload naar de map 'uploads'";
}
else {
echo "Sorry, er is een probleem met het uploaden van de afbeelding.";
}
?>
如何保存裁剪后的图像? 有没有办法通过覆盖原始图像来保存裁剪的图像,所以我只得到裁剪的图像?
提前致谢。
编辑: 我现在可以保存 1 张照片。我将我的代码编辑为: imagejpeg($dst_r, 'uploads/cropped/' . $filename .'boek.jpg'); 但是我必须创建一个函数,该函数可以使用另一个名称保存多个文件。并且可能会覆盖保存在'uploads/'中的原始图像
【问题讨论】:
-
您要保存到的文件夹 --
uploads\cropped-- 是否存在? -
那么您可能应该在所有图像函数调用中添加错误检查。 imagecreatefromjpeg、imagecreatetruecolor、imagecopyresampled 和 imagejpeg 在失败时都返回
false。如果您对所有呼叫都执行if (! $img_r = imagecreatefromjpeg($src)) die ('here is the problem');之类的操作,您很快就会发现问题。 -
但我的代码 imagejpeg($dst_r, 'uploads/cropped/' . 'filename');不对,所以现在上传一个名为 filename 的文件。但是我如何调用我的图像源以便上传图像
-
还有其他人知道如何解决这个问题吗?
标签: php image save directory jcrop