현재 위치: > 최신 기사 목록> ThinkPhp 파일 업로드 완전한 자습서 : 구성 및 구현에 대한 자세한 설명

ThinkPhp 파일 업로드 완전한 자습서 : 구성 및 구현에 대한 자세한 설명

gitbox 2025-08-10

소개

ThinkPhp는 강력한 파일 업로드 기능을 갖춘 고성능 오픈 소스 PHP 개발 프레임 워크입니다. 합리적인 구성 및 코드 구현을 통해 개발자는 다양한 파일 업로드 요구 사항을 쉽게 구현할 수 있습니다. 이 기사는 예제를 결합하여 ThinkPhp에서 파일 업로드를 완료하는 방법을 깊이 설명합니다.

ThinkPhp 파일 업로드 구성

구성 파일 설명

ThinkPhp의 파일 업로드 관련 설정은 configuration 파일 config.php 에서 중앙에서 관리됩니다. 주요 구성 항목은 다음과 같습니다.

 // 기본적으로 드라이버를 업로드하십시오
'upload_driver' => 'Local',
// 파일 저장 경로를 업로드하십시오
'upload_path' => '/path/to/upload/folder/',
// 파일 유형을 업로드 할 수 있습니다
'upload_allow_ext' => 'jpg,png,gif',
// 업로드 된 파일 크기를 허용합니다(바이트)
'upload_max_size' => 5242880,

다양한 매개 변수에 대한 설명 :

  • UPLOAD_DRIVER : 일반적으로 사용되는 로컬 업로드 (로컬) 또는 타사 스토리지 업로드 드라이버를 지정합니다.
  • upload_path : 파일 스토리지 디렉토리.
  • upload_allow_ext : 쉼표로 분리 된 업로드 된 파일 확장을 허용합니다.
  • upload_max_size : 최대 업로드 파일 크기, 바이트 단위.

구성 튜닝 예제

프로젝트 요구 사항에 따라 다음과 같은 구성을 조정할 수 있습니다.

 'upload_path' => 'public/uploads/',
'upload_allow_ext' => 'jpg,jpeg,png',
'upload_max_size' => 5242880,

파일 업로드를 구현하십시오

프론트 엔드 양식 준비

프론트 엔드 페이지에서 파일 업로드를 지원하는 양식을 준비해야합니다. 예제는 다음과 같습니다.

 <form method="POST" enctype="multipart/form-data" action="{:url('upload')}">
    <input type="file" name="file" />
    <button type="submit">파일 업로드</button>
</form>

여기서 ENCTYPE = "multipart/form-data" 는 파일 업로드 양식에 필요한 속성이므로 데이터가 이진 형식으로 전송되도록합니다.

백그라운드 처리 로직

다음 예와 같이 컨트롤러에 파일 업로드 처리 방법을 작성하십시오.

 namespace app\index\controller;
use think\Controller;
use think\facade\Request;

class Upload extends Controller
{
    public function upload()
    {
        $file = Request::file('file');
        // 파일 크기와 유형을 확인하고 이동하십시오
        $result = $file->validate(['size' => 5242880, 'ext' => 'jpg,jpeg,png'])->move('public/uploads/');
        if ($result) {
            // 성공적으로 업로드하십시오
            echo '文件성공적으로 업로드하십시오:' . $result->getSaveName();
        } else {
            // 업로드 실패
            echo '文件업로드 실패:' . $file->getError();
        }
    }
}

위의 코드는 먼저 업로드 된 파일을 얻고 크기 및 유형 확인을 수행하고 성공 후 지정된 디렉토리에 파일을 저장하고 결과를 반환합니다.

요약

합리적인 구성과 간단한 코드를 통해 ThinkPhP 프레임 워크에서 파일 업로드 기능을 구현하는 것이 매우 편리합니다. 이 기사는 구성 파일 설정, 프론트 엔드 양식 작성 및 배경 업로드 처리의 전체 프로세스를 소개하여 개발자가 업로드 및 개발의 핵심 사항을 빠르게 파악할 수 있도록 도와줍니다.