နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် CSV (ကော်မာခွဲခြားထားသောတန်ဖိုးများ) ဖိုင်များသည်အလွန်အသုံးများသောအလုပ်ဖြစ်သည်။ FNGCSV ဖိုင်များကို pergetcsv () fcGetcsv () ကဲ့သို့သော built-in function များကိုထောက်ပံ့နေစဉ်တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည်ပိုမိုပြောင်းလွယ်ပြင်လွယ်သို့မဟုတ်ပိုမိုပေါ့ပါးသောဖြေရှင်းနည်းကိုရရှိရန်အတွက်ခွဲခြမ်းစိတ်ဖြာသည့်ယုတ္တိဗေဒကိုမိမိကိုယ်ကိုရေးသားရန်လိုအပ်သည်။ ဤဆောင်းပါးသည် PHP တွင် exploit () function ကို အသုံးပြု. ရိုးရိုးရှင်းရှင်းသုံးလက်တွေ့ CSV file parser ကိုဖန်တီးလိမ့်မည်။
Exploit () function ကို CSV ဖိုင်များခွဲခြမ်းစိတ်ဖြာခြင်း၏အဓိကစိတ်ကူးဖြစ်သော arrays သို့ strings များထဲသို့ခွဲရန်အသုံးပြုသည်။ လိုင်းတစ်ခုစီကိုအသစ်စက်စက်ဇာတ်ကောင်များဖြင့်ခွဲခြားထားသည့်အရာတစ်ခုစီကိုကော်မာများဖြင့်ခွဲထားသည်။
CSV ဖိုင်များကိုလျှို့ဝှက်ထားရန် Parsecsv ဟုခေါ်သော function တစ်ခုကိုဖန်တီးပါမည်။ ၎င်းသည်အငြင်းပွားဖွယ်ရာတစ်ခုအနေဖြင့်ဖိုင်လမ်းကြောင်းတစ်ခုဖြစ်ပြီးနှစ်ရှုထောင်များခင်းကျင်းမှုများကိုပြန်လည်ရရှိခဲ့သည်။
function parseCSV($filepath) {
if (!file_exists($filepath)) {
throw new Exception("ဖိုင်မတည်ရှိပါဘူး: $filepath");
}
$content = file_get_contents($filepath);
$lines = explode(PHP_EOL, $content);
$data = [];
foreach ($lines as $line) {
if (trim($line) === '') {
continue;
}
$fields = explode(',', $line);
$data[] = $fields;
}
return $data;
}
ကျွန်ုပ်တို့တွင်အောက်ပါအကြောင်းအရာများပါ 0 င်သောဖိုင်အမည်ရှိ ဒေတာ အမည်ရှိဖိုင်ရှိသည်ဆိုပါစို့။
name,email,age
Alice,[email protected],30
Bob,[email protected],25
ကျနော်တို့စာဖတ်ခြင်းနှင့် output လုပ်ရန်ရေးသားထားသော function ကိုသုံးနိုင်သည်။
$csvFile = 'https://gitbox.net/files/data.csv';
file_put_contents('temp.csv', file_get_contents($csvFile));
try {
$result = parseCSV('temp.csv');
foreach ($result as $row) {
echo implode(' | ', $row) . "<br>";
}
} catch (Exception $e) {
echo 'အမှား: ' . $e->getMessage();
}
ထုတ်လုပ်မှု -
name | email | age
Alice | [email protected] | 30
Bob | [email protected] | 25
Commas လယ်ပြင်၌ပါဝင်သည်ရှိရာအမှု
Exploit () function သည်ကော်မာများပါ 0 င်သော CSV လိုင်းများကိုကော်မာများပါ 0 င်သော CSV လိုင်းများကိုမကိုင်တွယ်နိုင်ပါ။ ဤအခြေအနေကို fgetcsv () အသုံးပြုရန်အကြံပြုသည်။
File encoding <br> <br> CSV ဖိုင်သည် UTF-8 encoded ဖြစ်သည်ကိုသေချာအောင်လုပ်ပါ ။
လုံခြုံရေး CSV ဖိုင်များကိုစိတ်မချရသောအရင်းအမြစ်များကိုထိုးသွင်းခြင်းသို့မဟုတ်ဖြတ်သန်းသွားလာမှုလမ်းကြောင်းများကိုတားဆီးခြင်း,
ရိုးရှင်းသော CSV ဖိုင်များအတွက်အခြေခံ CSV Parser ကိုလျင်မြန်စွာတည်ဆောက်ရန် Exploit () function ကိုသုံးပါ။ ပိုမိုမြင့်မားသောလိုက်ဖက်တဲ့နှင့်တိကျမှန်ကန်မှုကိုလိုအပ်သည့်အခြေအနေများအတွက် PHP တွင်ထည့်သွင်းထားသော fgetcsv () function ကိုအသုံးပြုရန်အတွက်ပြုလုပ်ရန်အကြံပြုသည်။ သို့သော်ပေါ့ပါးသောအခြေအနေများတွင်သင်အကောင်အထည်ဖော်သည့် parser သည်အပြည့်အဝအရည်အချင်းပြည့်မီသည်။
ဤဥပမာမှတစ်ဆင့် exploit ၏လက်တွေ့ကျသောအသုံးချမှုကိုလက်တွေ့ကျင့်သုံးရုံသာမက CSV ဖိုင်များကိုအရိုးရှင်းဆုံးနည်းဖြင့်မည်သို့လုပ်ဆောင်ရမည်ကိုကျွမ်းကျင်စွာလေ့လာရုံသာမက, အကယ်. ပြင်ပအာဏာပိုင်များမလိုအပ်သည့် CSV စာဖတ်သူကိုသင်တည်ဆောက်လိုပါကဤချဉ်းကပ်မှုသည်အလွန်ကောင်းသောအစဖြစ်သည်။