
SwooleHttpResponse::sendfile 메소드를 사용하여 파일을 전송할 때 오류가 발생하는 현상은 파일 크기가 큰 경우에 발생할 수 있습니다. 이 현상을 해결하기 위해서는 sendfile 메소드의 옵션을 조절하는 것이 필요합니다.
sendfile 메소드의 \'range\' 옵션을 사용하여 파일을 부분적으로 전송하는 방법은 다음과 같습니다.
- \'range\' 옵션을 사용하여 파일을 부분적으로 전송하는 방법은 클라이언트가 요청한 파일의 범위를 지정하여 전송하는 것입니다. 예를 들어, 클라이언트가 요청한 파일의 범위가 1000바이트부터 5000바이트까지인 경우, \'range\' 옵션을 사용하여 1000바이트부터 5000바이트까지의 파일을 전송합니다.
#hostingforum.kr
php
$response = new SwooleHttpResponse();
$response->setStatusCode(206);
$response->setHeader('Content-Range', 'bytes 1000-5000/total_size');
$response->sendfile('파일명', ['range' => '1000-5000']);
sendfile 메소드의 \'chunk_size\' 옵션을 사용하여 파일을 전송할 때 분할 크기를 조절하는 방법은 다음과 같습니다.
- \'chunk_size\' 옵션을 사용하여 파일을 전송할 때 분할 크기를 조절하는 방법은 sendfile 메소드가 파일을 전송할 때 사용하는 분할 크기를 조절하는 것입니다. 예를 들어, \'chunk_size\' 옵션을 사용하여 1024바이트 단위로 파일을 전송하는 경우, sendfile 메소드는 파일을 1024바이트 단위로 분할하여 전송합니다.
#hostingforum.kr
php
$response = new SwooleHttpResponse();
$response->sendfile('파일명', ['chunk_size' => 1024]);
sendfile 메소드의 \'range\' 옵션과 \'chunk_size\' 옵션을 함께 사용하여 파일을 부분적으로 전송하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$response = new SwooleHttpResponse();
$response->setStatusCode(206);
$response->setHeader('Content-Range', 'bytes 1000-5000/total_size');
$response->sendfile('파일명', ['range' => '1000-5000', 'chunk_size' => 1024]);
이러한 방법을 사용하여 sendfile 메소드의 옵션을 조절하여 파일을 부분적으로 전송하거나 분할 크기를 조절할 수 있습니다.
2025-04-17 17:51