개인적 엑셀파일만 업로드 하는데 잘안되네요
본문
안녕하세요 여러분~! 더우신데 수고들 많으 십니다. 이번 비피해 많이 없으신지요..
질문거리 들고 왔네요==;;
요점은 이렇습니다. 개인적으로 엑셀파일을 데이타 처리하는데는 성공했습니다.
파일자체를 특정한 저장공간에 두고 사용을 하고자 업그레이드 하고자 하는데 잘안되네요 ..
한번 자세히 좀 봐주세요 형식상은 분명 맞는것 같은데;;;;무족건 접근만 하면 서버오류가 괴롭해요;; ;;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 폼에서 업로드한 파일을 저장할 디렉토리 경로
$uploadDir = G5_ADMIN_PATH . '/admin_myhome/';
$uploadedFile = $uploadDir . basename($_FILES['file']['name']);
$uploadOk = true;
// 파일 유형 확인 (.xlsx 확장자인지 확인)
$fileType = strtolower(pathinfo($uploadedFile, PATHINFO_EXTENSION));
if ($fileType != 'xlsx') {
echo "올바른 파일 형식이 아닙니다. .xlsx 파일을 선택해주세요.";
$uploadOk = false;
}
// 파일 업로드가 성공적인지 확인
if ($uploadOk && !move_uploaded_file($_FILES['file']['tmp_name'], $uploadedFile)) {
echo "파일 업로드 실패";
$uploadOk = false;
}
딱 요부분인데 요부분만 접근을 하면 바로 서버오류 로 나와버리는데.. 아무리 디버그해서 못찾겠고..특정한 오류도나오지도않고 ..그래요;;; 혹시 그누에 맞지않는 보안이 있나싶기도하고..;; 암튼 ...몰르겠음요 ㅋㅋ
또한 다른업로드 처리 방식이 있다면 추천도 괸찮습니다.;;
답변 2
다음은 기본적인 동작확인을 위한 테스트 코드입니다.
문제 해결에 도움이 될지 모르겠습니다.
<?php
define('G5_ADMIN_PATH', __DIR__);
// if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (empty($_FILES['file']) == false) {
// 폼에서 업로드한 파일을 저장할 디렉토리 경로
$uploadDir = G5_ADMIN_PATH . '/admin_myhome/';
$uploadedFile = $uploadDir . basename($_FILES['file']['name']);
$uploadOk = true;
// 업로드 디렉토리 없는 경우 생성
if (is_dir($uploadDir) == false) {
mkdir($uploadDir);
}
// 파일 유형 확인 (.xlsx 확장자인지 확인)
$fileType = strtolower(pathinfo($uploadedFile, PATHINFO_EXTENSION));
if ($fileType != 'xlsx') {
echo "올바른 파일 형식이 아닙니다. .xlsx 파일을 선택해주세요.";
$uploadOk = false;
}
// 파일 업로드가 성공적인지 확인
if ($uploadOk && !move_uploaded_file($_FILES['file']['tmp_name'], $uploadedFile)) {
echo "파일 업로드 실패";
$uploadOk = false;
}
}
?>
<form method="post" enctype="multipart/form-data">
<input type="file" name="file" accept=".xls,.xlsx" />
<input type="submit" />
</form>
소스상으로는 크게 문제는 없어 보입니다.
G5_ADMIN_PATH . '/admin_myhome/'
이 경로에 쓰기 권한은 있으신건가요?