파일 다운로드에 Hyperf 프레임워크를 사용하는 방법
소개:
파일 다운로드는 Hyperf 프레임워크를 사용하여 웹 애플리케이션을 개발할 때 일반적인 요구 사항입니다. 이 문서에서는 특정 코드 예제를 포함하여 파일 다운로드에 Hyperf 프레임워크를 사용하는 방법을 소개합니다.
1. 준비
시작하기 전에 Hyperf 프레임워크를 설치하고 Hyperf 애플리케이션을 성공적으로 생성했는지 확인하세요.
2. 파일 다운로드 컨트롤러 만들기
먼저 파일 다운로드 요청을 처리할 컨트롤러를 만들어야 합니다. 터미널을 열고 Hyperf 프로젝트의 루트 디렉터리에 들어가서 다음 명령을 실행하여 다운로드 컨트롤러를 생성합니다.
php bin/hyperf.php generate:controller DownloadController
생성된 컨트롤러 파일은 app/Controller
디렉터리에 있습니다. index()
메서드를 수정하면 다음과 같습니다. app/Controller
目录下,打开该文件,修改index()
方法如下:
<?php declare(strict_types=1); namespace AppController; use HyperfHttpServerAnnotationController; use HyperfHttpServerAnnotationRequestMapping; use HyperfHttpMessageStreamSwooleStream; use HyperfUtilsCodecEncode; use HyperfUtilsCodecJson; use HyperfUtilsCodecXml; /** * @Controller */ class DownloadController { /** * 下载文件 * @RequestMapping(path="/download", methods="get") */ public function index() { // 文件路径 $file = '/path/to/file'; // 替换成实际文件路径 // 文件名 $filename = 'filename.ext'; // 替换成实际文件名 // 设置响应头 return response() ->header('Content-Type', 'application/octet-stream') ->header('Content-Disposition', 'attachment; filename=' . $filename) ->stream(new SwooleStream(file_get_contents($file))); } }
这里我们使用response()
函数创建一个响应实例,通过header()
方法设置响应头,stream()
方法用于发送文件内容。你需要将$file
变量替换为实际的文件路径,将$filename
变量替换为实际的文件名。
三、配置路由
接下来,我们需要配置一个路由来访问下载控制器。打开 config/routes.php
文件,添加如下代码:
<?php //... use AppControllerDownloadController; //... Router::get('/download', [DownloadController::class, 'index']); //...
这样就配置好了一个GET请求的路由,当访问/download
时,将会执行DownloadController
的index
方法。
四、启动服务器
启动Hyperf服务器,以监听HTTP请求。在终端中进入Hyperf项目根目录,执行以下命令:
php bin/hyperf.php start
服务器启动后,就可以通过访问http://localhost:9501/download
rrreee
response()
함수를 사용하여 응답 인스턴스를 생성하고 header() 메서드, stream()
메서드는 파일 내용을 보내는 데 사용됩니다. $file
변수를 실제 파일 경로로 바꾸고 $filename
변수를 실제 파일 이름으로 바꿔야 합니다.
3. 라우팅 구성
config/routes.php
파일을 열고 다음 코드를 추가하세요. 🎜rrreee🎜 /download
에 액세스할 때 GET 요청에 대한 경로가 구성됩니다. >DownloadController 코드의 >index 메서드입니다. 🎜🎜4. 서버 시작 🎜Hyperf 서버를 시작하여 HTTP 요청을 수신합니다. 터미널에 Hyperf 프로젝트의 루트 디렉터리를 입력하고 다음 명령을 실행합니다. 🎜rrreee🎜서버가 시작된 후 http://localhost:9501/download
에 접속하여 파일을 다운로드할 수 있습니다. 🎜🎜결론: 🎜이 기사에서는 다운로드 컨트롤러 생성, 라우팅 구성 및 서버 시작을 포함하여 파일 다운로드에 Hyperf 프레임워크를 사용하는 방법을 소개합니다. 이 기사의 샘플 코드를 통해 Hyperf 프로젝트에서 파일 다운로드 기능을 쉽게 구현할 수 있습니다. 이 기사가 도움이 되기를 바랍니다! 🎜위 내용은 파일 다운로드에 Hyperf 프레임워크를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!