그림파일 업로드가 안됩니다.
------------------a.html------------------------------------------------
<form action=b.html method=post enctype=multipart/form-data>
<li> 파일 : <input type=file name=song>
<input type=submit value='업로드'>
</form>
<li> 파일 : <input type=file name=song>
<input type=submit value='업로드'>
</form>
----------------------b.html----------------------------------------------
<?
if(!ereg(".jpg",$song_name)){
echo "그림파일만 업로드 가능합니다 ";
}
exit;
move_uploaded_file($song,"./data/".$song_name);
?>
if(!ereg(".jpg",$song_name)){
echo "그림파일만 업로드 가능합니다 ";
}
exit;
move_uploaded_file($song,"./data/".$song_name);
?>
위 a.html파일에서 jpg확장자를 가진 그림파일을 b.html파일을
통하여 up/data의 디렉토리에 업로드 시키고 싶은데 업로드가
되지를 않고 b파일의 메세지 "그림파일만 업로드 가능합니다"
뜨고 data디렉토리에 업로드가 되지를 않습니다.
물론 확장자가 jpg인 그림파일을 업로드 시켰고, up디렉토리
폴더(하위포함)도 퍼미션을 707로 설정했습니다. a.html, b,html파일은 up폴더안에 있슴, 호스팅업체는 cafe24 입니다.
고수님들 해결 좀 부탁합니다.
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 6개
확장자에 대한 검사는 원래 올리려는 화일의 화일명을 검사해야 합니다.
<?
$song_name = $filename = $_FILES[song][name];
$pattern = "/.(jpg|jpeg)$/i";
if (!preg_match($pattern, $song_ame, $matches)) {
alert("이미지 확장자는 jpg jpeg 만 가능합니다.");
}
move_uploaded_file($song,"./data/".$song_name);
?>
b파일에 복사하고 테스트했더니 아래와 같은 에러가 나왔습니다.
지금 php를 공부 중이라 무슨뜻인지 잘 모르겠군요. 답변 부탁합니다.
Fatal error: Call to undefined function: alert() in /home/hosting_users/삭제/www/up/b.html on line 9
님의 소스중 if문안의 $song_ame가 오타인듯하여 $song_name로 수정하여 테스트해도
마찬가지 에러가 나오네요.
<?
$song_name = $_FILES[song][name];
$pattern = "/.(jpg|jpeg)$/i";
if (!preg_match($pattern, $song_name, $matches)) {
echo "그림파일만 업로드 가능합니다 ";
}
exit;
move_uploaded_file($song,"./data/".$song_name);
?>
사라졌습니다.
그런데 up/data 폴더에 그림파일이 업로드가 되지를 않는군요.
<?php
$tmp_file = $_FILES[song][tmp_name];
$song_name = $_FILES[song][name];
$pattern = "/.(jpg|jpeg)$/i";
if (!preg_match($pattern, $song_name, $matches)) {
echo "그림파일만 업로드 가능합니다 ";
exit;
}
$dst_file = "./data/".$song_name;
move_uploaded_file($tmp_file, $dst_file);
?>
참고로 말씀드리면 이곳은 그누보드 관련 질답 게시판이며 화일업로드나 일반적인 폼의 작업에 대해서는 그누보드 기본 소스에 있으니 참조하십시오.
제가 올린 글이 게시판성격에 벘어 났군요.
잘 알았습니다.