File Downloads အတွက် PHP ကိုအသုံးပြုသောအခါသင်သည်အမှားအယွင်းများစွာကြုံတွေ့ရနိုင်သည်။ မှတ်ဉာဏ်ကန့်သတ်ချက်များ, ကွပ်မျက်ချိန်အချိန်ကုန်ခြင်း, ကွန်ယက်ချိတ်ဆက်မှုပြတ်တောက်ခြင်း,
ပုံမှန်အားဖြင့် PHP သည်မှတ်ဉာဏ်အသုံးပြုမှုကိုကန့်သတ်ထားသည်။ ဒေါင်းလုပ်လုပ်ထားသောဖိုင်သည်အလွန်ကြီးလွန်းသောအခါမှတ်ဉာဏ်ကန့်သတ်ချက်ကိုကျော်လွန်နိုင်သည်။
PHP.INI configuration file ထဲတွင် memory_limit
ပြုပြင်မွမ်းမံပါ
ကြီးမားသောဖိုင်များကို download လုပ်ရန်အချိန်ကြာမြင့်စွာပြုလုပ်နိုင်ပြီးကွပ်မျက်မှုသည် PHP ၏မူလကန့်သတ်ချက်ထက်ကျော်လွန်ပါကအချိန်ကုန်အမှားပေါ်ပေါက်လာလိမ့်မည်။
PHP.ini ရှိ max_execution_time_time item ကိုပြုပြင်မွမ်းမံခြင်းဖြင့် PHP ၏အများဆုံးကွပ်မျက်အချိန်ကိုတိုးမြှင့်နိုင်သည်။
ini_set('max_execution_time', 3600); // အဖြစ်သတ်မှတ်1နာရီ
Execute Timeout ၏ပြ problem နာကိုဖြေရှင်းရန်ဖိုင်တစ်ခုလုံးကိုဒေါင်းလုပ်ဆွဲရန်ဖိုင်ကြီးများကိုခွဲထုတ်ရန်,
$filename = 'path/to/bigfile.mp4';
$chunkSize = 1024 * 1024; // သင် download လုပ်တိုင်း1MB
$handle = fopen($filename, 'rb');
while (!feof($handle)) {
echo fread($handle, $chunkSize);
flush();
ob_flush();
}
fclose($handle);
ကြီးမားသောဖိုင်များကိုဒေါင်းလုပ်လုပ်စဉ်အတွင်းကွန်ယက်ပြတ်တောက်မှုများသည် download ပျက်ကွက်စေနိုင်သည်။
Breakpoint စဉ်ဆက်မပြတ် transfery နည်းပညာကိုအသုံးပြုခြင်းဖြင့်ဒေါင်းလုပ်လုပ်ပြီးအနှောင့်အယှက်မဖြစ်သည့်နောက်,
$filename = 'path/to/bigfile.mp4';
$handle = fopen($filename, 'rb');
if (isset($_SERVER['HTTP_RANGE'])) {
fseek($handle, intval(substr($_SERVER['HTTP_RANGE'], 6)));
}
while (!feof($handle)) {
echo fread($handle, $chunkSize);
flush();
ob_flush();
}
fclose($handle);
တစ်ခါတစ်ရံတွင် client's browser (သို့) download မန်နေဂျာသည် download download ကိုကျရှုံးစေနိုင်သည်။
အချို့သော browser များကဖိုင်အိတ်ကြီးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်မည်မဟုတ်ပါ။ အသုံးပြုသူများသည်အခြား browser များသို့ပြောင်းရန်အကြံပေးသည်။
အချို့သော download မန်နေဂျာများသည်ဖိုင်တစ်ခု၏အများဆုံး download အရွယ်အစားကိုကန့်သတ်ထားနိုင်သည်။ download manager ကို disable လုပ်ရန်သို့မဟုတ်အခြားမန်နေဂျာကိုအစားထိုးရန်အကြံပြုသည်။
PHP တွင်ဖိုင်ကြီးများကိုဒေါင်းလုပ်ဆွဲသည့်အခါ, သင်သည်မှတ်ဉာဏ်ကန့်သတ်ချက်များ, ကွပ်မျက်ချိန်အချိန်ကုန်ခြင်း, မှတ်ဥာဏ်ကန့်သတ်ချက်များတိုးပွားလာခြင်းအားဖြင့်ကွပ်မျက်ခြင်းအချိန်တိုးလာခြင်း,