-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
똑같이 따라 했는데 왜 에러가 나는지 모르겠어요
21.03.07 19:46 작성 조회수 324
0
<?php
switch($_SERVER['REQUEST_METHOD']){
case 'GET':
echo <<< 'HTML'
<form action="/" method = 'POST' enctype="multipart/form-data">
<input type="file" name="uploads">
<input type="submit">
</form>
HTML;
break;
case 'POST':
$file = $_FILES['uploads'];
// $pathinfo = pathinfo($file['name']);
// $accepts = [
// 'png', 'jpg'
// ];
if(is_uploaded_file($file['tmp_name'])){
move_uploaded_file($file['tmp_name'],dirname(__FILE__).'/uploades/'.$file['name'] );
}
break;
default:
http_response_code(404);
}
답변을 작성해보세요.
0
정상우
지식공유자2021.03.10
실행방법이 되게 묘하신데, php -S 를 통해 웹 서버를 켜셨는데, php test.php 명령어는 왜 입력하고 계신건가요? 웹 브라우저에서 접속하시는 것이 올바른 경로입니다. $_SERVER['REQUEST_METHOD'] 는 브라우저에서 테스트하기 위해 switch 문과 같이 작성한 것입니다. php test.php 로 하시면 의미가 없답니다.
0
정상우
지식공유자2021.03.09
$_SERVER 에서 REQUEST_METHOD 를 못 찾는 것 같습니다. php 를 구동하는 웹 서버에 따라 제공되는 키가 있고, 제공이 안 되는 키가 있을 수 있습니다. php -S 명령어를 통해 내장 서버를 실행해보시길 바랍니다. 추가적으로 move_uploaded_file() 함수에 폴더의 이름이 uploads 가 아니라 uploades 로 되어있습니다.
kspark
질문자2021.03.10
답변 주셔서 감사합니다.
서버를 실행하여 에러가 사라지고, uploads 폴더명도 수정하였습니다만,
Undefined array key "REQUEST_METHOD" 라고 나옵니다.
답변 2