PHP / 파일 업로드 만들기
페이지 정보
본문
https://www.codingfactory.net/13028
PHP로 파일 업로드 기능을 구현해본다. 다음은 파일을 업로드하기 위한 간단한 HTML 문서.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>PHP</title>
</head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<p><input type="file" name="myfile"></p>
<p><input type="submit" name="action" value="Upload"></p>
</form>
</body>
</html>
파일을 업로드하면 $_FILES 번수에 배열로 name, type, size, tmp_name, error 정보가 전달된다. 아래는 123.png 파일을 업로드했을 때 각 정보를 출력한 것이다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>PHP</title>
</head>
<body>
<?php
if ( $_POST[ 'action' ] == "Upload" ) {
print_r( $_FILES[ 'myfile' ] );
echo "<br>";
echo $_FILES[ 'myfile' ][ 'name' ];
echo "<br>";
echo $_FILES[ 'myfile' ][ 'type' ];
echo "<br>";
echo $_FILES[ 'myfile' ][ 'size' ];
echo "<br>";
echo $_FILES[ 'myfile' ][ 'tmp_name' ];
echo "<br>";
echo $_FILES[ 'myfile' ][ 'error' ];
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<p><input type="file" name="myfile"></p>
<p><input type="submit" name="action" value="Upload"></p>
</form>
</body>
</html>
업로드한 파일은 PHP 설정에 있는 tmp 폴더에 임의의 이름으로 저장되고, 사용이 끝나면 삭제된다. 이 파일을 내가 원하는 폴더로 이동해야 하는데, 이때 사용하는 함수는 move_uploaded_file()이다.
move_uploaded_file(string $from, string $to)
아래는 업로드한 파일을 원본 이름 그대로 uploads 폴더로 이동시키는 것이다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>PHP</title>
</head>
<body>
<?php
if ( $_POST[ "action" ] == "Upload" ) {
$uploaded_file_name_tmp = $_FILES[ 'myfile' ][ 'tmp_name' ];
$uploaded_file_name = $_FILES[ 'myfile' ][ 'name' ];
$upload_folder = "uploads/";
move_uploaded_file( $uploaded_file_name_tmp, $upload_folder . $uploaded_file_name );
echo "<p>" . $uploaded_file_name . "을(를) 업로드하였습니다.</p>";
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<p><input type="file" name="myfile"></p>
<p><input type="submit" name="action" value="Upload"></p>
</form>
</body>
</html>
PHP로 파일 업로드 기능을 구현해본다. 다음은 파일을 업로드하기 위한 간단한 HTML 문서.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>PHP</title>
</head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<p><input type="file" name="myfile"></p>
<p><input type="submit" name="action" value="Upload"></p>
</form>
</body>
</html>
파일을 업로드하면 $_FILES 번수에 배열로 name, type, size, tmp_name, error 정보가 전달된다. 아래는 123.png 파일을 업로드했을 때 각 정보를 출력한 것이다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>PHP</title>
</head>
<body>
<?php
if ( $_POST[ 'action' ] == "Upload" ) {
print_r( $_FILES[ 'myfile' ] );
echo "<br>";
echo $_FILES[ 'myfile' ][ 'name' ];
echo "<br>";
echo $_FILES[ 'myfile' ][ 'type' ];
echo "<br>";
echo $_FILES[ 'myfile' ][ 'size' ];
echo "<br>";
echo $_FILES[ 'myfile' ][ 'tmp_name' ];
echo "<br>";
echo $_FILES[ 'myfile' ][ 'error' ];
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<p><input type="file" name="myfile"></p>
<p><input type="submit" name="action" value="Upload"></p>
</form>
</body>
</html>
업로드한 파일은 PHP 설정에 있는 tmp 폴더에 임의의 이름으로 저장되고, 사용이 끝나면 삭제된다. 이 파일을 내가 원하는 폴더로 이동해야 하는데, 이때 사용하는 함수는 move_uploaded_file()이다.
move_uploaded_file(string $from, string $to)
아래는 업로드한 파일을 원본 이름 그대로 uploads 폴더로 이동시키는 것이다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>PHP</title>
</head>
<body>
<?php
if ( $_POST[ "action" ] == "Upload" ) {
$uploaded_file_name_tmp = $_FILES[ 'myfile' ][ 'tmp_name' ];
$uploaded_file_name = $_FILES[ 'myfile' ][ 'name' ];
$upload_folder = "uploads/";
move_uploaded_file( $uploaded_file_name_tmp, $upload_folder . $uploaded_file_name );
echo "<p>" . $uploaded_file_name . "을(를) 업로드하였습니다.</p>";
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<p><input type="file" name="myfile"></p>
<p><input type="submit" name="action" value="Upload"></p>
</form>
</body>
</html>
- 이전글상대경로 22.12.19
- 다음글진짜 한글날은 9월 30일. 21.11.07
댓글목록
등록된 댓글이 없습니다.