PHP / 파일 업로드 만드는 방법

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 / Tutorial / 연산자 / 할당 연산자

PHP / Tutorial / 연산자 / 할당 연산자

할당 연산자는 변수에 값을 할당하거나 다른 연산을 수행한 후 그 결과를 변수에 저장하는 데 사용됩니다. 기본 할당 연산자는 =입니다. 등호 오른쪽의 값을 등호 왼쪽의 변수에 넣습니다.

PHP / Tutotrial / 연산자 / 산술 연산자

PHP / Tutotrial / 연산자 / 산술 연산자

PHP에서 산술 연산자는 수치 데이터를 사용하여 수학적 연산을 수행하는 데 사용됩니다. PHP에서 제공하는 기본적인 산술 연산자는 다음과 같습니다.

PHP / 파일 업로드 만드는 방법

PHP / 파일 업로드 만드는 방법

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, ...

PHP / Tutorial / 문법

PHP / Tutorial / 문법

HTML 문서에 PHP 코드 넣기 PHP 코드는 HTML 문서에 넣습니다. 이를 실행하기 위해서는 어느 부분이 PHP 코드인지 알려줘야 합니다. PHP 코드 부분을 명시하기 위한 방법은 여러 가지가 있는데, 보통 을 사용합니다. 방법 1 <?php와 ?> 사이에 PHP 코드를 넣습니다. <?php // PHP Code ?> 방법 2 script 태그 사이에 PHP 코드를 넣습니다. <script language="php"> // ...

PHP / Tutorial / 두 날짜 사이의 기간 구하는 방법

PHP / Tutorial / 두 날짜 사이의 기간 구하는 방법

두 날짜 사이의 차이 구하기 시작하는 날짜를 변수에 담습니다. $from = new DateTime( '2022-01-01' ); 끝나는 날짜를 변수에 담습니다. $to = new DateTime( '2022-03-31' ); diff 또는 date_diff로 차이를 구합니다. echo $from -> diff( $to ) -> days; echo date_diff( $from, $to ) -> days; 2022년 1월은 31일, 2월은 28일, 3월은 31일로 총 90일이다. 위의 방식으로 계산하면 89일이 ...

PHP / Tutorial / 당월 초일, 당월 말일 구하는 방법

PHP / Tutorial / 당월 초일, 당월 말일 구하는 방법

당월 초일과 당월 말일은 date() 함수를 이용하여 구할 수 있습나다. 초일은 항상 1일이므로, 아래처럼 날짜에 01을 넣어서 구합니다. date( 'Y-m-01' ) 말일은 날짜 자리에 t를 넣어서 구합니다. date( 'Y-m-t' ) 다음은 당월 초일과 말일을 출력하는 간단한 예제입니다. <!doctype html> <html lang="ko"> <head> <meta charset="utf-8"> <title>HTML</title> <style> ...

PHP / 조건문 / switch

switch는 하나의 변수를 여러 값과 비교할 때 유용한 조건문입니다. 문법 switch ( $var ) { case value1: statement1; break; case value2: statement2; break; ... default: statement3; } $var의 값을 value1과 비교하여 value1과 같으면 statement1을 실행하고 ...