PHP 스크립트에서 CSV 파일을 만들고 다운로드하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-12 20:28:02
원래의
227명이 탐색했습니다.

How to Create and Download CSV Files from PHP Scripts?

PHP 스크립트에서 CSV 파일 생성 및 다운로드

소개

웹사이트 기능을 향상하기 위해 다음과 같은 시나리오가 발생할 수 있습니다. 사용자가 다운로드할 수 있도록 PHP 배열의 데이터를 CSV 파일로 내보내야 합니다. 그러나 초보 프로그래머로서 이 작업을 실행하는 방법을 이해하는 것은 어려울 수 있습니다. 이 문서에서는 이 목표를 효과적으로 달성하기 위한 포괄적인 가이드를 제공합니다.

CSV 파일 생성

PHP 배열에서 CSV 파일을 생성하려면 내장된 fputcsv() 함수:

$f = fopen("tmp.csv", "w");
foreach ($array as $line) {
    fputcsv($f, $line);
}
로그인 후 복사

HTTP 헤더 구성

브라우저에서 "다른 이름으로 저장" 대화 상자를 실행하려면 적절한 HTTP 헤더를 지정해야 합니다.

header('Content-Disposition: attachment; filename="filename.csv"');
로그인 후 복사

두 프로세스 결합

CSV 파일 생성과 HTTP 헤더 구성을 결합하여 다음 기능을 생성할 수 있습니다.

function array_to_csv_download($array, $filename = "export.csv", $delimiter = ";") {
    // Open file in memory
    $f = fopen('php://memory', 'w');
    
    // Generate CSV data
    foreach ($array as $line) {
        fputcsv($f, $line, $delimiter);
    }
    
    // Set headers
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '"');
    
    // Output file
    fpassthru($f);
}
로그인 후 복사

사용법

이 기능을 사용하려면 PHP 배열과 파일 이름만 제공하면 됩니다.

array_to_csv_download(array(
    array(1, 2, 3, 4),
    array(1, 2, 3, 4)
), "numbers.csv");
로그인 후 복사

대체 방법

성능 향상을 위해 php://memory 대신 php://output을 사용하고 탐색 작업을 제거할 수 있습니다.

function array_to_csv_download($array, $filename = "export.csv", $delimiter = ";") {
    header('Content-Type: application/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '"');
    
    // Open output stream
    $f = fopen('php://output', 'w');
    
    // Generate CSV data
    foreach ($array as $line) {
        fputcsv($f, $line, $delimiter);
    }
}
로그인 후 복사

위 내용은 PHP 스크립트에서 CSV 파일을 만들고 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿