ဝက်ဘ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်တခါတရံတွင် Backend မှတစ်ဆင့် CSV အစီရင်ခံစာကို devonict ထုတ်ပြီး download လုပ်ရန်ဆာဗာတွင်ဒေါင်းလုပ်လုပ်မည့်အစား download လုပ်ရန်အသုံးပြုသူများကိုထောက်ပံ့ရန်လိုအပ်သည်။ PHP ၏ header () function ကို http response header ကိုပြုပြင်ရန်နှင့်ဤ "Simulated download" အကျိုးသက်ရောက်မှုကိုရရှိရန် output content နှင့်ပေါင်းစပ်ရန်အသုံးပြုနိုင်သည်။
ဤဆောင်းပါးသည်ဤ function ကိုတစ်ဆင့်ပြီးတစ်ဆင့်အကောင်အထည်ဖော်ရန်သင့်အားယူပါလိမ့်မည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် CSV ဒေတာကို output လုပ်ရန်မိတ္တူတစ်ခုလိုအပ်သည်။ ၎င်းကိုဒေတာဘေ့စ်မှထုတ်ယူနိုင်သော်လည်း၎င်းကိုကိုယ်တိုင်ပြင်ဆင်ထားသည့်ခင်းကျင်းမှုဖြစ်နိုင်သည်။
$data = [
['နံမယ်', 'စာပို့', 'မှတ်ပုံတင်ချိန်'],
['Zhang San', 'zhangsan@m66.net', '2025-05-01 10:00:00'],
['li si', 'lisi@m66.net', '2025-05-02 11:30:00'],
['ဝမ်ဝူ', 'wangwu@m66.net', '2025-05-03 14:15:00'],
];
Header () function ကိုသုံးရန်ဤသည် browser ကို အသုံးပြု. ဤသည်မှာပုံမှန်ဝက်ဘ်စာမျက်နှာ output မဟုတ်ဘဲဖိုင်ဒေါင်းလုပ်တုန့်ပြန်မှုဟုပြောရန် browser ကိုပြောပြရန်။ အထူးအရေးကြီးသည်မှာ -
Content-type အမျိုးအစားသည် Browser ကိုဤအရာသည် CSV ဖိုင်ဖြစ်သည်ဟုဖော်ပြထားသည်။
အကြောင်းအရာ - သဘောထားသည် ပူးတွဲဖိုင်ပုံစံကိုသတ်မှတ်ပြီး download လုပ်ထားသောဖိုင်၏အမည်ကိုထောက်ပံ့ပေးသည်။
cache-control and Pragma သည် cache ဆိုင်ရာပြ issues နာများကိုရှောင်ရှားရန်ကူညီသည်။
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="report.csv"');
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
အကြောင်းအရာကို output stream သို့တိုက်ရိုက်ရေးသားရန် fopen ('PHP: // output', 'w' ') ကို သုံးနိုင်သည်။ အလယ်အလတ်ဖိုင်ကိုထုတ်လုပ်ရန်မလိုအပ်ပါ။
$output = fopen('php://output', 'w');
foreach ($data as $row) {
fputcsv($output, $row);
}
fclose($output);
<?php
$data = [
['နံမယ်', 'စာပို့', 'မှတ်ပုံတင်ချိန်'],
['Zhang San', 'zhangsan@m66.net', '2025-05-01 10:00:00'],
['li si', 'lisi@m66.net', '2025-05-02 11:30:00'],
['ဝမ်ဝူ', 'wangwu@m66.net', '2025-05-03 14:15:00'],
];
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="report.csv"');
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
$output = fopen('php://output', 'w');
foreach ($data as $row) {
fputcsv($output, $row);
}
fclose($output);
output output မရှိပါ Header ကိုခေါ်ဆိုခြင်းမပြုမီ () , မလိုအပ်သော output (နေရာများ, လိုင်းများအပါအ 0 င်),
coding ပြ issues နာများ ထုတ်ပေးသော CSV တွင်တရုတ်စာလုံးများပါ 0 င်ပါက ETF-8 BOM ကိုအသုံးပြုရန်သို့မဟုတ် Excel ဖွင့်သောအခါ garbled code ကိုရှောင်ရှားရန်အကောင်းဆုံးဖြစ်သည်။
Dynamic Data <br> <br> အထက်ပါဥပမာသည် static Arrays ကိုအသုံးပြုသည်။ အမှန်တကယ်စီမံကိန်းများအနေဖြင့်သင်သည်ဒေတာဘေ့စ်မှမေးမြန်းပြီး၎င်းကိုခင်းကျင်းရန်စီစဉ်ရန်လိုအပ်သည်။