회원 아이콘 관련 질문 사항입니다. 지금 3일째 헤매고 있습니다. 큰 가르침 부탁 드리겠습니다. (__) 정보
회원 아이콘 관련 질문 사항입니다. 지금 3일째 헤매고 있습니다. 큰 가르침 부탁 드리겠습니다. (__)
본문
식사들은 하셨십니까? 그누보드 고수님들...(--)(__)(--)
다름이 아니오라, 회원 아이콘 자동 리사이즈 관련해서 질문 올립니다.
질문과 답변란과 팁란을 뒤져 뒤져서 유디 고수님이 올려 주신 팁까지는 찾았습니다.
유디 고수님 말씀으로는
bbs/register_form_update.php , adm/member_form_update.php 이 두파일을 똑같이 수정해 주면 된다고 하셨는데,
수정전
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 이미지의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 이미지 삭제
if ($size[0] > $config[cf_member_photo_width] || $size[1] > $config[cf_member_photo_height])
@unlink($dest_path);
}
수정후
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 이미지의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 이미지 리사이즈
if ($size[0] > $config[cf_member_photo_width] || $size[1] > $config[cf_member_photo_height]) {
$width = $config[cf_member_photo_width];
$height = $config[cf_member_photo_height];
$cfile = imagecreatefromjpeg($dest_path);
$dest = imagecreatetruecolor($width, $height);
imagecopyresampled($dest, $cfile, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
imagejpeg($dest, $dest_path, 90); }
}
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 이미지의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 이미지 삭제
if ($size[0] > $config[cf_member_photo_width] || $size[1] > $config[cf_member_photo_height])
@unlink($dest_path);
}
수정후
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 이미지의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 이미지 리사이즈
if ($size[0] > $config[cf_member_photo_width] || $size[1] > $config[cf_member_photo_height]) {
$width = $config[cf_member_photo_width];
$height = $config[cf_member_photo_height];
$cfile = imagecreatefromjpeg($dest_path);
$dest = imagecreatetruecolor($width, $height);
imagecopyresampled($dest, $cfile, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
imagejpeg($dest, $dest_path, 90); }
}
이렇게도 두 파일 다 똑같이 바꾸어 봐도 에러가 생깁니다.
밑에 리플로 남겨주신 zestar님과 마시마님의 소스를 대입해도 에러가 생기고 리사이즈가 안되더군요.
bbs/register_form_update.php , adm/member_form_update.php
이 두파일중 bbs/register_form_update.php 파일은 올려주신 소스와 104줄의 수정전이 똑같은데,
adm/member_form_update.php 은 조금 다르더군요. 수정전이
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);
}
}
}
}
이렇게 틀리더군요. 이 차이로 문제가 생기는것이 아닌가? 의심이 가는데, 어떻게 수정해야 할지 모르겠습니다.
지금 3일째 이 문제만 잡고 있습니다.
고수님들의 큰 가르침 기다리겠습니다. 감사합니다....(__)
댓글 전체

아마도 회원아이콘과 회원사진 부분이 부딪히는 듯 합니다.
그누보드에서는 기본적으로 아이콘에 대해서는
$config[cf_member_icon_width] 과 $config[cf_member_icon_height]를 사용합니다만
위 내용으로봐서는 회원프로필사진(?)을 적용하신소스
$config[cf_member_photo_width] $config[cf_member_photo_height]가 들어가서 그런듯 합니다.
아이콘에 관한 것이라면
$config[cf_member_icon_width] 과 $config[cf_member_icon_height] 를 사용하셔야 합니다.
그누보드에서는 기본적으로 아이콘에 대해서는
$config[cf_member_icon_width] 과 $config[cf_member_icon_height]를 사용합니다만
위 내용으로봐서는 회원프로필사진(?)을 적용하신소스
$config[cf_member_photo_width] $config[cf_member_photo_height]가 들어가서 그런듯 합니다.
아이콘에 관한 것이라면
$config[cf_member_icon_width] 과 $config[cf_member_icon_height] 를 사용하셔야 합니다.

감사합니다. 제가 워낙 기초가 없이 짜집기로만 배워서 제대로 읽어보지를 않은것 같습니다. 아직 완료는 하지 못했지만, 곧바로 적용시켜 보도록 하겠습니다. 감사합니다..(__)

휴~ 이게 쉽지가 않는것 같습니다. 일단 투게더 회원님의 답변을 바탕으로 처음부터 차근차근 다시 시작해 보도록 하겠습니다. 신경써 주셔서 대단히 감사합니다. (__)

1. 기본소스 : 아이콘크기가 기본 설정값 보다 크다면 업로드한 아이콘을 삭제합니다.
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);
}
}
2. 변경소스 : 아이콘 크기가 크다면 기본설정 값으로 줄여서 적용함.
if (file_exists($dest_path)) {
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height]) {
$width = $config[cf_member_icon_width];
$height = $config[cf_member_icon_height];
$cfile = imagecreatefromgif($dest_path);
$dest = imagecreatetruecolor($width, $height);
imagecopyresampled($dest, $cfile, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
imagegif($dest, $dest_path, 90); }
}
}
3. 혹 회원사진을 적용하더라도 위와 비슷한 형태 입니다.
단, 회원사진의 폭을 정해주었다면 위의 2항의 $config[cf_member_icon_width]와 $config[cf_member_icon_height]을
회원사진 적용하는 부분에서 해당값으로 변경해 주셔야 겠지요....^^
PHP운을 빕니다...^^
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);
}
}
2. 변경소스 : 아이콘 크기가 크다면 기본설정 값으로 줄여서 적용함.
if (file_exists($dest_path)) {
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height]) {
$width = $config[cf_member_icon_width];
$height = $config[cf_member_icon_height];
$cfile = imagecreatefromgif($dest_path);
$dest = imagecreatetruecolor($width, $height);
imagecopyresampled($dest, $cfile, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
imagegif($dest, $dest_path, 90); }
}
}
3. 혹 회원사진을 적용하더라도 위와 비슷한 형태 입니다.
단, 회원사진의 폭을 정해주었다면 위의 2항의 $config[cf_member_icon_width]와 $config[cf_member_icon_height]을
회원사진 적용하는 부분에서 해당값으로 변경해 주셔야 겠지요....^^
PHP운을 빕니다...^^