>  기사  >  백엔드 개발  >  PHP를 사용하여 파일 업로드 및 다운로드 기능을 구현하는 방법

PHP를 사용하여 파일 업로드 및 다운로드 기능을 구현하는 방법

王林
王林원래의
2023-09-06 10:51:231679검색

如何使用 PHP 实现文件上传和下载功能

PHP를 사용하여 파일 업로드 및 다운로드 기능을 구현하는 방법

웹사이트를 개발할 때 파일 업로드 및 다운로드 기능은 매우 일반적인 요구 사항입니다. 널리 사용되는 서버측 스크립팅 언어인 PHP는 이러한 기능을 구현하는 데 도움이 되는 풍부한 기능과 클래스 라이브러리를 제공합니다. 이 기사에서는 PHP를 사용하여 기본 파일 업로드 및 다운로드를 포함한 파일 업로드 및 다운로드 기능을 구현하는 방법과 업로드된 파일 및 다운로드한 파일을 처리하는 방법을 소개합니다.

1. 파일 업로드 기능

  1. 파일 업로드 양식 만들기

먼저 파일 업로드 기능을 구현하기 위한 HTML 양식을 만들어야 합니다. upload.html이라는 파일을 만들고 다음 코드를 추가합니다.

<html>
<head>
<title>文件上传</title>
</head>
<body>

<form action="upload.php" method="POST" enctype="multipart/form-data">
选择文件:<input type="file" name="fileToUpload" id="fileToUpload"><br>
<input type="submit" value="上传文件" name="submit">
</form>

</body>
</html>
  1. 파일 업로드 처리 스크립트 만들기

다음으로, 파일 업로드를 처리하기 위해 upload.php라는 PHP 스크립트를 만들어야 합니다. 다음 코드로 파일을 생성합니다.

<?php
$targetDir = "uploads/"; // 上传文件保存的目录

if(isset($_POST["submit"])) {
   $targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]); // 上传文件的完整路径

   if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
       echo "文件已成功上传。";
   } else {
       echo "文件上传失败。";
   }
}
?>

위 코드는 먼저 파일 업로드가 저장되는 디렉터리, 즉 업로드 디렉터리를 지정합니다. 파일 업로드를 처리할 때 move_uploaded_file 함수를 사용하여 임시 파일을 대상 경로로 이동합니다.

  1. 파일 업로드 기능 테스트

이제 브라우저에서 upload.html 파일을 열고 파일을 선택한 후 업로드 버튼을 클릭하여 파일 업로드 기능을 테스트할 수 있습니다. 업로드된 파일은 uploads 디렉터리에 저장됩니다.

2. 파일 다운로드 기능

  1. 파일 다운로드 링크 생성

먼저 사용자가 파일을 다운로드할 수 있도록 파일 다운로드 링크를 생성해야 합니다. uploads 디렉터리에 test.pdf라는 이름의 파일이 이미 저장되어 있다고 가정합니다. 다음 코드를 사용하여 다운로드 링크를 생성할 수 있습니다.

<a href="download.php?file=test.pdf">下载文件</a>
  1. 파일 다운로드 처리 스크립트 생성

그런 다음 파일 다운로드를 처리하기 위해 download.php라는 PHP 스크립트를 생성해야 합니다. 다음 코드를 사용하여 파일을 만듭니다.

<?php
$fileDir = "uploads/"; // 文件保存的目录

if(isset($_GET["file"])) {
   $filePath = $fileDir . $_GET["file"]; // 文件的完整路径

   if(file_exists($filePath)) {
       header("Content-Type: application/octet-stream");
       header("Content-Disposition: attachment; filename=" . basename($filePath));
       header("Content-Length: " . filesize($filePath));

       readfile($filePath);
   } else {
       echo "文件不存在。";
   }
}
?>

위 코드는 먼저 파일이 저장되는 디렉터리, 즉 업로드 디렉터리를 지정합니다. 파일 다운로드를 처리할 때 Content-Type, Content-Disposition, Content-Length와 같은 일부 응답 헤더 정보를 설정한 다음 readfile 함수를 사용하여 파일 내용을 브라우저에 출력합니다.

  1. 파일 다운로드 기능 테스트

이제 브라우저에서 다운로드 링크를 클릭하여 파일 다운로드 기능을 테스트할 수 있습니다. 브라우저가 파일 다운로드를 시작하고 로컬에 저장합니다.

요약

위 단계를 통해 PHP를 사용하여 파일 업로드 및 다운로드 기능을 구현하는 방법을 배웠습니다. 파일 업로드 기능은 파일 업로드 양식과 해당 처리 스크립트를 생성하여 구현할 수 있습니다. 파일 다운로드 기능은 파일 다운로드 링크와 해당 처리 스크립트를 생성하여 구현할 수 있습니다. 실제 프로젝트에서는 파일 형식 확인, 파일 크기 제한 등을 추가하는 등 필요에 따라 파일 업로드 및 다운로드 기능을 확장하고 최적화할 수 있습니다.

이 기사가 PHP를 이해하고 적용하여 파일 업로드 및 다운로드 기능을 구현하는 데 도움이 되길 바랍니다!

위 내용은 PHP를 사용하여 파일 업로드 및 다운로드 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.