파일업로드에 관해서
본문
참고로 저는 php3.ini파일에서 upload_tmp_dir 이라는 환경변수의 값을
/home/lefter 이라는 저의 홈디렉토리로 변경하여 보았습니다.
그리고 다시 아파치 웹서버를 재 가동시키구요.
그리고 아파치 실행은 nobody로 되기 땜시로, 저의 /home/lefter라는
디렉토리 권한을 테스트 삼아 chmod 777 lefter 로 주니까
파일은 잘 업로드 되었습니다.
업로드 된 파일은 일시적인 디렉토리인 즉 제가 설정해준 /home/lefter라는
디렉토리에 phpxxxx라는 이름으로 저장이 됩니다.
그러나 이 파일은 요청의 처리가 끝나면 자동적으로 사라지므로 만약 나중에
다시 사용해야 한다면 다른 디렉토리나 동일한 디렉토리에 파일명을 주어서
저장을 해야합니다. 그 방법은 아래와 같습니다.
--파일명 upform.htm ----
submit this file:
--파일명 upload.php3 ---
if (copy($userfile,"/tmp/up.txt"))
{
echo(" $userfile
/home/lefter 이라는 저의 홈디렉토리로 변경하여 보았습니다.
그리고 다시 아파치 웹서버를 재 가동시키구요.
그리고 아파치 실행은 nobody로 되기 땜시로, 저의 /home/lefter라는
디렉토리 권한을 테스트 삼아 chmod 777 lefter 로 주니까
파일은 잘 업로드 되었습니다.
업로드 된 파일은 일시적인 디렉토리인 즉 제가 설정해준 /home/lefter라는
디렉토리에 phpxxxx라는 이름으로 저장이 됩니다.
그러나 이 파일은 요청의 처리가 끝나면 자동적으로 사라지므로 만약 나중에
다시 사용해야 한다면 다른 디렉토리나 동일한 디렉토리에 파일명을 주어서
저장을 해야합니다. 그 방법은 아래와 같습니다.
--파일명 upform.htm ----
submit this file:
--파일명 upload.php3 ---
if (copy($userfile,"/tmp/up.txt"))
{
echo(" $userfile
ok");
}
else {
echo("not ok");
}
?>
해보시면 $userfile 이라는 변수명에는 이러한 값들이 들어가 있습니다.
/home/lefter/phplioXWW
여기서 주의해야 할 것은 반드시 저장하려는 디렉토리에는 반드시
nobody가 쓸수 쓸수 있는 권한이 있어야 합니다.
그래서 보통 /tmp 디렉토리가 디폴트로 지정이 되는 거겠지요..
그럼 수고하세요.
답변 1
화일을 올리면 화일은 임시 공간으로 저장이되거든요..
그임시공간에서 copy($file,"$uploaddir");
옮기고자 하는 디렉토리를 해주세요
그리고 임시화일을 unlink($file)을 써서 지워주세요
제가 보기엔 아마 현재 디렉트로리를 unlink한것이 아닐까 생각되는데요..
도움이 되었기를 ..
그임시공간에서 copy($file,"$uploaddir");
옮기고자 하는 디렉토리를 해주세요
그리고 임시화일을 unlink($file)을 써서 지워주세요
제가 보기엔 아마 현재 디렉트로리를 unlink한것이 아닐까 생각되는데요..
도움이 되었기를 ..
답변을 작성하시기 전에 로그인 해주세요.