2012-11-24 5 views
2

Jcrop 플러그인을 사용하여 이미지를 자릅니다.선택한 이미지를 잘라내어 자른 이미지를 폴더를 사용하여 폴더에 저장하는 방법

나는 표준 HTML 양식 내 사진을 업로드 할 수 있습니다. 다음 코드로 내 마지막 업로드 된 이미지를 보여 enter image description here

$ 대상에 대한 나의 코드는 다음과 같습니다 :

<?php 
    $target = "uploads/"; 
    $target = $target . basename($_FILES['filename']['name']) ; 
    $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."; 
    } 
?> 

지금은 시작 다음을 같이

<img id="cropbox" src="<?php echo $target ?>" width="400" /> 

이 보인다 내 영역을 선택하면 자릅니다 : enter image description here

지금 내가 FOL을 사용하여 새 JPG 이미지로 선택한 자르기 영역을 저장할 lowing 코드 :

<?php 

if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    $targ_w = 200; 
    $targ_h = 400; 
    $jpeg_quality = 90; 

    $src = ''; 
    $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,NULL,$jpeg_quality); 

    exit; 
} 

?> 

내 질문은 지금, 나는 $ 대상 소스가 난 그냥 위의 그 PHP 코드에 업로드 된 이미지를 표시하는 데 사용하는 것이 어떻게 사용합니까?

나는 잘 모른다.

답변

3

당신은 목표를 업로드 할 때 $ _SESSION에 파일의 경로를 넣을 수 있습니다. 당신의 uploaded.php에서이 코드를 사용 (여기 당신으로 session_start (와 세션을 시작)와 $ _SESSION 배열에 형성된 대상 경로 넣어) :

<?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,NULL,$jpeg_quality); 

exit; 
} 

?> 
+0

두 답변을 모두 시도해 보겠습니다. 사전 : –

+0

당신은 이것을 더 설명 할 수 있습니까? 나는이 일을하는 방법을 완전히 이해하지 못했다. –

+1

나는 더 상세한 내용을 설명하기 위해 내 게시물을 확장했다. –

0

당신은 그래서 당신의 JS 코드를 다시로드하지 않고 이미지를 대체 할 수있는 지정된 새 이미지 URL로 페이지를 다시로드하거나 다시 자바 스크립트에 해당 URL을 반환하거나해야합니다.

+0

'이미지 자르기'를 클릭하면 새 페이지로 리디렉션됩니다. crop.php로 리디렉션하고 있습니다. '이미지 자르기'를 클릭하면 업로드 됨 .php에 있습니다. –

0

: 당신의 crop.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."; 
} 
?> 

imagejpeg은 NULL로 설정 한 파일 이름 매개 변수를 사용합니다.

당신은 서버의 디스크로 자른 이미지를 저장 한 다음에 "showimage.php"또는 어떤 결과 페이지 당신이로 리디렉션 할 때 다시로드하려면이 옵션을 사용할 수 있습니다. 위치 헤더를 사용하여 리디렉션 할 수 있습니다.

당신은/데이터베이스의 일종을 사용하여 리디렉션 다시로드에서 이미지 경로를 추적, 또는이 빠른 프로젝트 인 경우, 그냥 쿠키/세션 변수에 이미지 경로를 저장할 수 있습니다.

+0

이것도 보겠습니다. 감사합니다. –

관련 문제