move_uploaded_file 관련 질문좀 드릴게요
본문
인터넷 강의에서는 잘적용이 되지만
저의 경우에는 적용이 왜안될까요//
답을 원하지는 않지만 조금의 힌트라도 주신다면 감사하겠습니다
아래 함수 common.php로 인크루드 정상적으로 되었구요
이미지가 정해진 서버에 저장은 잘되는데요
중요한건 강의에서는 이미지가 화면에 노출이되었지만
저같은 경우에는 엑박도 아닌 노출자체가 안되네요..(새로고침과 같은현상)
이미지를 올리지 않고 submit 할경우에는 아래 echo 문대로 정상적으로 적용은 잘되요..
뭐가 문제일까요?..
outlogin.skin.2.php
include_once('./_common.php');// include 했어요~!
<div class="profile">
<?php
if (isset($_FILES['profile']) === true) {
if (empty($_FILES['profile']['name']) === true) {
echo 'please choose a file';
}else{
$allowed = array('jpg','jpeg','gif','png');
$file_name = $_FILES['profile']['name'];
$file_extn = strtolower(end(explode('.', $file_name)));
$file_temp = $_FILES['profile']['tmp_name'];
if(in_array($file_extn, $allowed) === true){
change_profile_image($session_mb_id, $file_temp, $file_extn);
}else{
echo 'Incorrect file type. Allowed:';
echo implode(', ', $allowed);
}
}
}
if (empty($member['profile']) === false) {
echo '<img src="', $member['profile'], '" alt="', $member['mb_nick'], '\'s Profile Image">';
}
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="profile"><input type="submit">
</form>
</div>
common.php
function change_profile_image($session_mb_id, $file_temp, $file_extn){
$file_path = 'data/member/profile/' . substr(md5(time()), 0, 10) . '.' . $file_extn;
move_uploaded_file($file_temp, $file_path);
$sql = " update {$g5['member_table']} set profile= '{$file_path}' where mb_id = '{$mb_id}' ";
sql_query($sql);
}
답변 1
profile 필드값을 확인해보세요.
그누보드를 베이스로 사용하셨다면, profile 이 아니라 mb_profile 로 알고 있습니다.
필드값이 잘못됬다면, 당연히 인식을 못하고 그로인해 img 태그자체가 노출되지 않은것 같아요.
답변을 작성하시기 전에 로그인 해주세요.