>  기사  >  백엔드 개발  >  브라우저로 리디렉션하지 않고 PHP에서 파일을 강제로 다운로드하는 방법은 무엇입니까?

브라우저로 리디렉션하지 않고 PHP에서 파일을 강제로 다운로드하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-20 20:02:30941검색

How to Force File Downloads in PHP Without Redirecting to the Browser?

PHP에서 다운로드 링크 생성

소개

사용자에게 파일 다운로드 기능을 제공하는 것은 웹의 일반적인 기능입니다. 응용 프로그램. 이 문서에서는 이미지 다운로드 링크를 생성하고 브라우저 탐색을 방지하는 방법을 안내합니다.

해결책

파일을 강제로 다운로드하려면 다음 코드를 활용할 수 있습니다.

<code class="php"><?php
    // File path on disk
    $filePath = '/path/to/file/on/disk.jpg';

    // Check if file exists
    if(file_exists($filePath)) {
        $fileName = basename($filePath);
        $fileSize = filesize($filePath);

        // Output headers
        header("Cache-Control: private");
        header("Content-Type: application/stream");
        header("Content-Length: ".$fileSize);
        header("Content-Disposition: attachment; filename=".$fileName);
        
        // Output file
        readfile ($filePath);
        exit();
    } else {
        die('Invalid file path');
    }
?></code>

PHP 페이지 시작 부분에 이 코드 조각을 사용하면 사용자가 일반 링크를 클릭하여 파일을 다운로드할 수 있습니다.

보안 고려 사항

임의 파일 다운로드 기능을 만들 때 악의적인 입력을 방지하는 것이 중요합니다. realpath와 같은 조치를 취하여 디렉터리 탐색을 방지하고 다운로드를 미리 결정된 위치로 제한하여 웹사이트 보안을 유지하세요.

위 내용은 브라우저로 리디렉션하지 않고 PHP에서 파일을 강제로 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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