묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
업로드 질문이요
2004.10.15 12:09
************** upload.php
<?
// DB 연결후 form 에서 넘어온 $filename 값을 처리합니다.
if($filename) $dir="./file/".$filename_name;
if($filename && $filename_size>0){
copy($filename,$dir);
unlink($filename);
}
$query="insert into tb_test values('$total','$filename_name','')";
$result=@mysql_query($query,$connect);
echo $err=@mysql_error();
@mysql_close($connect) or die(mysql_error());
?>
// 라인 32 : copy($filename,$dir);
Warning: copy(./file/Present.gif): failed to open stream: No such file or directory in c:apm_setuphtdocsfileupload.php on line 32
이라고 에러메세지가 출력되면서 DB 에 목록만 저장이 되고 실제 file/ 이라는
디렉터리에 저장이 되지 않습니다.
$filename_name 과 $filename_size 는 정확히 있는데도 말입니다.
잘 되었었는데 갑작스레 안됩니다..
어찌된 일인지요.. ㅜㅜ
<?
// DB 연결후 form 에서 넘어온 $filename 값을 처리합니다.
if($filename) $dir="./file/".$filename_name;
if($filename && $filename_size>0){
copy($filename,$dir);
unlink($filename);
}
$query="insert into tb_test values('$total','$filename_name','')";
$result=@mysql_query($query,$connect);
echo $err=@mysql_error();
@mysql_close($connect) or die(mysql_error());
?>
// 라인 32 : copy($filename,$dir);
Warning: copy(./file/Present.gif): failed to open stream: No such file or directory in c:apm_setuphtdocsfileupload.php on line 32
이라고 에러메세지가 출력되면서 DB 에 목록만 저장이 되고 실제 file/ 이라는
디렉터리에 저장이 되지 않습니다.
$filename_name 과 $filename_size 는 정확히 있는데도 말입니다.
잘 되었었는데 갑작스레 안됩니다..
어찌된 일인지요.. ㅜㅜ
if($filename && $filename_size>0){
copy($filename,$dir);
unlink($filename);
}
위에서 $filename이라는게 업로드된 파일의 로컬경로(클라이언트의)를 의미하는 건가요?
만약, 그렇다면 잘못된 코드입니다.
파일 업로드시, 업로드 된 파일이 저장되는 서버의 임시경로가 php에 미리 정의되어있죠?
($_FILES['userfile']['tmp_name'] 또는 userfile["tmp_name"]이었던가요??)
copy()에서 $filename대신에 위의 임시경로를 넣어줘야됩니다.
임시파일은 카피되면 자동으로 삭제되므로, 아래의 unlink 는 필요없구요.