လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> header မှတဆင့်ဖွင့်မည့်အစားဖိုင်များကို download လုပ်ရန် browser ကိုအတင်းနိုင်ပုံ

header မှတဆင့်ဖွင့်မည့်အစားဖိုင်များကို download လုပ်ရန် browser ကိုအတင်းနိုင်ပုံ

M66 2025-05-18

ဝက်ဘ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်တစ်ခါတစ်ရံကျွန်ုပ်တို့သည်အသုံးပြုသူများကို browser တစ်ခုတွင်ကြည့်ရှုမည့်အစားဖိုင်များကို download လုပ်လိုသည်။ ဤလိုအပ်ချက်ကိုရရှိရန်ကျွန်ုပ်တို့သည် PHP ၏ header () function ကိုသုံးနိုင်သည်။ header () function သည်သင့်အား HTTP header သတင်းအချက်အလက်များကိုပေးပို့ပြီး browser ၏အပြုအမူကိုထိန်းချုပ်ရန်ခွင့်ပြုသည်။

ဤဆောင်းပါးသည်သင့်အားတိုက်ရိုက်ဖွင့်မည့်အစား header () function မှတဆင့်ဖိုင်ကိုဒေါင်းလုပ်လုပ်ရန် browser ကိုမည်သို့အတငြ်မြှင့်နိုင်မည်ကိုပြလိမ့်မည်။

အဆင့် 1: ဖိုင်ကိုပြင်ဆင်ပါ

ပထမ ဦး စွာဖိုင်သည်အဆင်သင့်ဖြစ်နေကြောင်းသေချာအောင်လုပ်ရန်လိုအပ်သည်။ ဥပမာအားဖြင့်, သင့်တွင် Pather Path / Wather/your/File.txt ဖြင့်ဆာဗာပေါ်ရှိလမ်းညွှန်တွင်ရှိသောဖိုင်တစ်ခုရှိသည်ဆိုပါစို့။ အသုံးပြုသူအား၎င်းကို browser တွင်တိုက်ရိုက်ကြည့်ရှုမည့်အစားဖိုင်ကို download လုပ်လိုသည်။

အဆင့် 2 - မှန်ကန်သော header ကိုသတ်မှတ်ရန် header () function ကိုသုံးပါ

ဖိုင်ကို download လုပ်ရန် browser ကိုအတင်းနိုင်ရန်အတွက်မှန်ကန်သော HTTP Header ကိုသတ်မှတ်ရမည်။ PHP ၏ header () function သည်သင့်အား HTTP header အချက်အလက်များကိုပေးပို့ရန်ခွင့်ပြုသည်, တိကျသောအဆင့်များမှာအောက်ပါအတိုင်းဖြစ်သည် -

 <?php
// ဖိုင်လမ်းကြောင်းကိုသတ်မှတ်ပါ
$file = '/path/to/your/file.txt';

// ဖိုင်တည်ရှိရှိမရှိစစ်ဆေးပါ
if (file_exists($file)) {
    // မှန်ကန်သောတ ဦး တည်းထားပါ MIME ပုံနှိပ်စာ
    header('Content-Type: application/octet-stream');
    
    // download လုပ်ထားသောဖိုင်အမည်ကိုသတ်မှတ်ပါ
    header('Content-Disposition: attachment; filename="' . basename($file) . '"');
    
    // ဖိုင်အရွယ်အစားကိုသတ်မှတ်ပါ
    header('Content-Length: ' . filesize($file));
    
    // output ကိုကြားခံရှင်းလင်းပါ
    ob_clean();
    flush();
    
    // browser မှ output ဖိုင်အကြောင်းအရာ
    readfile($file);
    exit;
} else {
    // ဖိုင်မတည်ရှိပါက,ချက်ချင်းအမှား
    echo 'ဖိုင်မတွေ့ပါ!';
}
?>

ကုဒ်ရှင်းပြချက်:

  • header ('အကြောင်းအရာအမျိုးအစား: လျှောက်လွှာ / octet-stream')
    ဤကုဒ်နံပါတ်သည် browser ကိုဖိုင်သည် binary stream တစ်ခုဖြစ်ပြီး browser သည်၎င်းကိုတိုက်ရိုက်ပြသရန်ကြိုးစားမည့်အစားဖိုင်တစ်ခုအဖြစ်လုပ်ဆောင်သင့်သည်။

  • header ('အကြောင်းအရာ - သဘောထား - ပူးတွဲမှု - ပူးတွဲဖိုင်, file.txt ")
    ဤနေရာတွင်ဒေါင်းလုပ်လုပ်ရန်နည်းလမ်းကိုပူးတွဲပါ ( ပူးတွဲဖိုင် ) အဖြစ်သတ်မှတ်ပြီး download တွင်ဖိုင်အမည်ကို file.txt အဖြစ်သတ်မှတ်သည်။ ဖိုင်အမည်ကိုလိုအပ်သလိုပြုပြင်နိုင်သည်။

  • header ('အကြောင်းအရာ - အရှည်:' ။ ဖိုင် ($ file))
    ဤကုဒ်နံပါတ်သည်ဖိုင်၏အရွယ်အစားကိုနားလည်နိုင်ပြီး download တိုးတက်မှု၏ပြသမှုကိုလွယ်ကူချောမွေ့စေရန်အတွက်ဤကုဒ်နံပါတ်သည်ဖိုင်၏အရွယ်အစားကိုသတ်မှတ်သည်။

  • ob_clean () နှင့် flush ()
    ဤလုပ်ဆောင်ချက်များကို PHP ၏ output buffer ကိုရှင်းလင်းရန်အသုံးပြုသည်။ ဖိုင်အကြောင်းအရာကိုမှန်ကန်စွာကူးပြောင်းခြင်းကို browser သို့မှန်ကန်စွာလွှဲပြောင်းပေးရန်သေချာစေရန်ဖြစ်သည်။

  • Readfile ($ file)
    ဤလုပ်ဆောင်ချက်သည်ဖိုင်မှတ်တမ်းများကို browser မှထုတ်ယူခြင်း,

  • ထွက်ပေါက်
    ဖိုင်ကူးယူခြင်းလုပ်ငန်းစဉ်အတွင်းအခြားမလိုအပ်သော output ကိုမလိုအပ်စေရန် PHP scription ကိုရပ်ဆိုင်းရန် Exit () ကိုခေါ်ဆိုခြင်း။

အဆင့် 3: စမ်းသပ်မှု

ယခုသင်သည် PPP scripts ကိုသင်၏ browser တွင်ဝင်ရောက်ကြည့်ရှုနိုင်သည်။ script file name ကို download.php ဟုယူဆခြင်းသည် http://m66.net/download.php သို့သင်သာ http://m66.net/download.php သို့သင်သာလိုအပ်သည် (သင် URL ကိုသင်၏အမှန်တကယ်ဖိုင်လမ်းကြောင်းဖြင့်အစားထိုးကြောင်းသတိပြုပါ) ။ အရာရာတိုင်းကိုမှန်ကန်စွာပြင်ဆင်ထားပါက browser တွင်တိုက်ရိုက်ဖွင့်မည့်အစားဖိုင်ကိုဒေါင်းလုပ်ဆွဲရန် browser သည်သင့်အားဖိအားပေးလိမ့်မည်။

မကြာခဏမေးသောမေးခွန်းများ

  1. ဖိုင်ကိုကူးယူ။ မရပါ အကယ်. ဖိုင်ကို download လုပ်မထားပါကဖိုင်လမ်းကြောင်းမှန်ကန်ကြောင်းနှင့် PHP script သည်ဖိုင်ကို 0 င်ရောက်ရန်လုံလောက်သောခွင့်ပြုချက်ရှိကြောင်းသေချာပါစေ။

  2. ဒေါင်းလုပ်လုပ်ပြီးနောက်ဖိုင်သည်ဗလာဖြစ်သည် ဖိုင်အကြောင်းအရာများသည်အကျင့်ပျက်ခြစားမှုမရှိသေးကြောင်းနှင့် output buffer ကိုမှားယွင်းစွာမသန့်ရှင်းပါ။ သငျသ ညျ Ob_clean () နှင့် flush () flush () flush () ကိုမှတ်ချက်ပေးရန်ကြိုးစားနိုင်ပါတယ်။

  3. ဖိုင်များကူးယူရန်အတွက် MIME အမျိုးအစားပြ issue နာ အကယ်. ဖိုင်အမျိုးအစားသည်အထူး (PDF, Zip စသည်စသဖြင့်) သည်အထူး (ဥပမာ - ဇစ်စသည်တို့) သည်ဖိုင်အမျိုးအစားအလိုက်ကွဲပြားသော MIME အမျိုးအစားများကိုသတ်မှတ်နိုင်သည်။ ဥပမာအားဖြင့်:

     header('Content-Type: application/pdf'); // အတွက် PDF စာချုပ်စာတမ်း
    header('Content-Type: application/zip'); // အတွက် ZIP စာချုပ်စာတမ်း
    

ဤနည်းအားဖြင့် PHP ၏ header () function သည် download files ၏ download belection ကိုထိန်းချုပ်ရန်, သုံးစွဲသူများကို browser တွင်တိုက်ရိုက်ကြည့်ရှုရန်ထက်ဖိုင်များကို download လုပ်သကဲ့သို့ဖိုင်များကို download လုပ်ရန်ခွင့်ပြုသည်။