2012-11-12 4 views
0
<?php 
ini_set('display_errors',1); 
error_reporting(E_ALL); 
    session_start(); 
    $targ_w = $targ_h = 150; 
    $jpeg_quality = 90; 
    $ext=$_GET['ext']; 
    $src = $_GET['p']; 

    $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']); 

    unlink($src); 
    imagejpeg($dst_r,$src,$jpeg_quality); 
    rename($src,"img/temp_images/".$_SESSION['userid'].".".$ext); 

    $result=move_uploaded_file(
         "/img/temp_images/".$_SESSION['userid'].".$ext", 

         "/img/".$_SESSION['userid'].".$ext"); 
    if($result) 
    echo "Success"; 
    else 
    echo "<br>Fail"; 


?> 
  1. 안전 모드는 다음 코드를

    이동 업로드 된 파일 문제

    위해서는 ini_set 퍼팅에도 불구하고 떨어져

  2. 없음 오류가 표시되지 않습니다이다 ('display_errors를'을, 1); error_reporting (E_ALL);

  3. 시스템은

  4. 모든 코드가 iframe을에서 호출 인 move_uploaded_file() 함수
  5. 제외하고 노력하고 로컬 호스트에서 실행되고 있습니다.
  6. 또한 내가 시도 디렉토리 (FILE) 많은 대안이

해결책이나 문제에 대한 이유를 제시하십시오. 전나무 3 줄을 사용하여 어딘가에 오류/경고를 잡을 필요가 있습니까? XAMPP 설치 버전 2.5.8에서 실행하고 있습니다. 파일을 만들 수 있기 때문에 파일을 폴더로 옮길 수있는 권한이 있다고 가정합니다. 그리고 로컬 호스트에는 권한에 대한 번거 로움이 없다고 생각하십니까?

+1

의 나는 경로를'/ IMG /은 ...'정확한지 의심한다. 하드 디스크의 루트에'img' **라는 폴더가 있습니다 ** ?! – deceze

+0

' "/ img/temp_images /".$_ SESSION [ 'userid']. ". $ ext",'- 이것은 무엇입니까? 왜 그것을 사용하고 있습니까? 파일이 왜 거기 있다고 생각하니? 'move_uploaded_file ($ _FILES [ "picture"] [ "tmp_name"], "/ img /". $ _ SESSION [ 'userid']. "$ ext"(;' –

+0

// unlink- 파일을 삭제하십시오. 문제는 move_uploaded_file 전에 링크 해제를 해제하는 것이므로 upload_yploaded_file 후에 링크를 해제해야합니다. –

답변

0

GD 라이브러리를 사용하여 새 이미지를 만듭니다. 대신 다른 위치

http://php.net/manual/en/function.copy.php

코드 예제 한 위치에서 파일을 이동하는 move_uploaded_file() 시도 사용 copy,

if (copy($old_file, $new_file)) { 
    unlink($old_file); 
} 
+0

복사 기능이 내가 원했던 것처럼 작동합니다 .--) 감사합니다 .-) – harsh8888

+0

@ user1435686 환영합니다! 내 대답이 도움이된다면, 이것을 정답으로 설정하고 나에게 투표하십시오. –