회원아이콘을 jpg도 등록할 수 있게 하기? 정보
회원아이콘을 jpg도 등록할 수 있게 하기?본문
현재는 회원아이콘이 gif만 등록가능하쟎아요? 그런데, 용량만 맞는다면 jpg나 bmp도 등록을
할 수 있게 하는게 맞는거 아닌가요??? 그런데, 정규식이 너무 어려워요. 구글링을 해봐도
java script의 정규식은 잘 나와 있지도 안구...ㅠ..ㅠ... 아래처럼 바꿨더니 안되네요.
if (!f.mb_icon.value.toLowerCase().match(/.(gif|jpg)$/i)) {
/bbs/write_update.php를 보면 php에서는 위에서 처럼 하면 되는거 같은데... ㅠ..ㅠ...
$filename = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $filename);
/skin/member/register_form.skin.php에서 체크할 때 jpg와 bmp도 통과하게 해줘야 하는데...ㅠ..ㅠ
if (typeof f.mb_icon != 'undefined') {
if (f.mb_icon.value) {
if (!f.mb_icon.value.toLowerCase().match(/.(gif)$/i)) {
alert('회원아이콘이 gif 파일이 아닙니다.');
f.mb_icon.activate();
return;
}
}
}
/bbs/register_form_update.php에서는 아래처럼 바꾸면 될꺼 같아요.
// 아이콘 업로드
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
if (preg_match("/(\.gif|jpg|bmp)$/i", $_FILES[mb_icon][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
}
}
}
else
$msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
할 수 있게 하는게 맞는거 아닌가요??? 그런데, 정규식이 너무 어려워요. 구글링을 해봐도
java script의 정규식은 잘 나와 있지도 안구...ㅠ..ㅠ... 아래처럼 바꿨더니 안되네요.
if (!f.mb_icon.value.toLowerCase().match(/.(gif|jpg)$/i)) {
/bbs/write_update.php를 보면 php에서는 위에서 처럼 하면 되는거 같은데... ㅠ..ㅠ...
$filename = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $filename);
/skin/member/register_form.skin.php에서 체크할 때 jpg와 bmp도 통과하게 해줘야 하는데...ㅠ..ㅠ
if (typeof f.mb_icon != 'undefined') {
if (f.mb_icon.value) {
if (!f.mb_icon.value.toLowerCase().match(/.(gif)$/i)) {
alert('회원아이콘이 gif 파일이 아닙니다.');
f.mb_icon.activate();
return;
}
}
}
/bbs/register_form_update.php에서는 아래처럼 바꾸면 될꺼 같아요.
// 아이콘 업로드
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
if (preg_match("/(\.gif|jpg|bmp)$/i", $_FILES[mb_icon][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
}
}
}
else
$msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
댓글 전체

정규식 맞는거 같은데요?/.(gif|jpg)$/i
잘돌아가는듯 한데요 특별한 문제가 뭔가용?
저는 맨첨에 정규식 모를때 확장자 구하는걸 prototype에 너놓고(정규식은 모르는데 prototype은 알았습니다.;;)
String.prototype.ext = funtion(){
return (this.indexOf(".")<0)?"":this.substring(this.lastIndexOf(".")+1,this.length);
}
exts = new Array('jpg','gif',...) 배열에 넣고 돌려서 썼습니다.
정 안풀리시면 일단저렇게 하시고 살다보면 나중에 왜 안됐는지 알겠죠 ㅋ
잘돌아가는듯 한데요 특별한 문제가 뭔가용?
저는 맨첨에 정규식 모를때 확장자 구하는걸 prototype에 너놓고(정규식은 모르는데 prototype은 알았습니다.;;)
String.prototype.ext = funtion(){
return (this.indexOf(".")<0)?"":this.substring(this.lastIndexOf(".")+1,this.length);
}
exts = new Array('jpg','gif',...) 배열에 넣고 돌려서 썼습니다.
정 안풀리시면 일단저렇게 하시고 살다보면 나중에 왜 안됐는지 알겠죠 ㅋ

//살다보면 나중에 왜 안됐는지 알겠죠 ㅋ//
원츄~~~~ 배꼽...
원츄~~~~ 배꼽...
b..b... 맞는데 왜 틀렸다구 생각했을까요???