File download သည် Web Development တွင်မကြာခဏအကောင်အထည်ဖော်လေ့ရှိသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်ဘုံနှင့်လက်တွေ့ php ဖိုင်သုံးခုကိုမိတ်ဆက်ပေးမည်။
ဖိုင်များကိုဒေါင်းလုပ်လုပ်ရန်တိုက်ရိုက်နည်းလမ်းမှာဖိုင်ကိုဖတ်ရန်နှင့် output ကိုဖတ်ရန် Readfile () function ကိုအသုံးပြုရန်ဖြစ်သည်။ သင့်လျော်သော HTTP တုန့်ပြန်မှုခေါင်းစဉ်ကိုသတ်မှတ်ခြင်းအားဖြင့်ဘရောက်ဇာသည် download တောင်းဆိုမှုများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်။
$filename = 'path/to/file.pdf';
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
readfile($filename);
Code သည် browser ကိုဖိုင်အမျိုးအစားကို အကြောင်းအရာအမျိုးအစား သတ်မှတ်ခြင်းဖြင့်ဖိုင်အမျိုးအစားကိုပြောပြသည် ။ Readfile () ဖိုင်အကြောင်းအရာကိုဖတ်ရှုခြင်းနှင့်ရလဒ်ကိုဖတ်ရန်တာ 0 န်ရှိသည်။
နောက်နည်းတစ်နည်းမှာ File_get_Contentents () function ကို file ကို Memory သို့ဖတ်ရန် (သို့) client ကိုဖွင့်ရန်ပထမ ဦး ဆုံးအသုံးပြုရန်ဖြစ်သည်။ ဤနည်းလမ်းသည်အသေးစားနှင့်အလတ်စားဖိုင်များကိုဒေါင်းလုပ်လုပ်ရန်သင့်တော်သည်။
$filename = 'path/to/file.pdf';
$filecontent = file_get_contents($filename);
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
echo $filecontent;
ဤနည်းလမ်းသည် Readfile () နှင့်ဆင်တူသော်လည်း File Content ကို variable တစ်ခုသို့ပထမဆုံးဖတ်ပြီး ပဲ့တင်သံ မှတဆင့်ထုတ်ယူသည်။
ကြီးမားသောဖိုင်များအတွက် Fune () function ကိုသုံးရန်အကြံပြုထားရန်အကြံပြုသည်။
$filename = 'path/to/largefile.zip';
$chunkSize = 1024 * 1024; // 1MB
$handle = fopen($filename, 'rb');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
while (!feof($handle)) {
echo fread($handle, $chunkSize);
ob_flush();
flush();
}
fclose($handle);
Code loops သည်သတ်မှတ်ထားသောအရွယ်အစားဖိုင်များမှတစ်ဆင့် conducts () ကို client သို့ပို့ခြင်းအားဖြင့် client သို့ပေးပို့ရန်အတွက် 0 န်ဆောင်မှုခံယူသူအားစာဖြင့်ပို့ပေးရန်အတွက် 0 န ်ဆောင်မှုပေးသည်။
ဤဆောင်းပါးတွင်မိတ်ဆက် PHP file download အကောင်အထည်ဖော်မှုနည်းလမ်းသုံးခုတွင်ကိုယ်ပိုင်ဝိသေသလက္ခဏာများရှိသည်။ ဖိုင်အိတ်များကိုတိုက်ရိုက်ထုတ်လွှင့်ခြင်းနည်းလမ်းသည်ရိုးရှင်းပြီးသေးငယ်သောဖိုင်များအတွက်သင့်လျော်သည်။ File_get_Contents () အလယ်အလတ်ဖိုင်များအတွက်သင့်တော်သည်။ Fread () သည်ကြီးမားသောဖိုင်များအတွက်သင့်တော်သောအတုံးများတွင်ဖတ်ပြီးမှတ်ဉာဏ်အသုံးပြုမှုကိုထိရောက်စွာထိန်းချုပ်နိုင်သည်။ သင့်လျော်သောအကောင်အထည်ဖော်မှုအစီအစဉ်ကိုရွေးချယ်ခြင်းအမှန်တကယ်စီမံကိန်းလိုအပ်ချက်များအရ File Download စွမ်းဆောင်ရည်နှင့်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေနိုင်သည်။