PHP တွင် ရှေ့နောက်ဆက်စပ်လမ်းကြောင်းများ

သင်သိပြီးဖြစ်သည့်အတိုင်း၊ function file_get_contents ၏ parameter အတွင်း ဖိုင်အမည်ကို ရေးရမည်။ သို့ရာတွင် ၎င်းသည် ကျွန်ုပ်တို့၏ script ကို run သောအခါ ဖတ်လိုသောဖိုင်သည် အလားတူဖိုလ်ဒါအတွင်း ရှိနေမှသာ အလုပ်လုပ်ပါသည်။

ဖိုင်သည် အခြားနေရာတွင် ရှိနေပါက၊ function ၏ parameter အတွင်း ထိုဖိုင်သို့ လမ်းကြောင်း (path) ကို ရေးပေးရမည်။

ဥပမာတစ်ခုဖြင့် ကြည့်ရအောင်။

ဥပမာ

ကျွန်ုပ်တို့တွင် အောက်ပါဖိုင်ဖွဲ့စည်းပုံရှိသည်ဆိုပါစို့:

စာသားဖိုင်အတွင်းရှိ အကြောင်းအရာများကို ဖတ်ကြည့်ကြပါစို့။ ထိုသို့ပြုလုပ်ရန် ဖိုင်အမည်အပြင် ၎င်းရှိသည့် ဖိုလ်ဒါကိုလည်း ဖော်ပြပေးရမည်:

index.php<?php
  echo file_get_contents('directory/test.txt');
?>

ဥပမာ

ကျွန်ုပ်တို့တွင် အောက်ပါဖိုင်ဖွဲ့စည်းပုံရှိသည်ဆိုပါစို့:

ဤကဲ့သို့ဖြစ်ပါက၊ ကျွန်ုပ်တို့၏ဖိုင်ကို လမ်းကြောင်းအဖြစ် ၎င်း၏အမည်ကိုသာဖော်ပြ၍ ဖတ်ရန် ကြိုးစားခြင်းသည် အမှားတစ်ခုဖြင့် အဆုံးသတ်သွားမည်:

script/index.php<?php
  echo file_get_contents('test.txt'); // အမှားပေါ်လာမည်
?>

အဘယ်ကြောင့် အမှားပေါ်လာသနည်း။ အကြောင်းမှာ ကျွန်ုပ်တို့သည် function ၏ parameter အတွင်း ဖိုင်အမည်ကိုသာ ရေးထားခြင်းဖြစ်သည်။ ဆိုလိုသည်မှာ၊ ဖတ်လိုသောဖိုင်သည် run နေသည့် script ရှိသည့် အလားတူဖိုလ်ဒါအတွင်း တည်ရှိရမည်။

သို့ရာတွင်၊ ကျွန်ုပ်တို့၏ဖတ်လိုသောဖိုင်သည် အဆင့်တစ်ခု အထက်၊ ဆိုလိုသည်မှာ script ပါသည့်ဖိုလ်ဒါကို ပိုင်ဆိုင်သည့် ဖိုလ်ဒါအတွင်း တည်ရှိနေသည်။

ထိုသို့ဖြစ်ပါက၊ ဖိုင်လမ်းကြောင်းအတွင်း ဤဖိုင်ကို အဆင့်တစ်ခုအထက်တွင် ရှာရမည်ဟု ရှင်းရှင်းလင်းလင်း ဖော်ပြရမည်။ ထိုသို့ပြုလုပ်ရန် ဖိုင်အမည်မတိုင်မီ ../ ကိုရေးရမည်။ ထိုသို့ ပြုလုပ်ကြည့်ပါစို့:

php<?php
  echo file_get_contents('../test.txt'); // ဖိုင်ကို ဖတ်နိုင်မည်
?>

ဥပမာ

ကျွန်ုပ်တို့တွင် အောက်ပါဖိုင်ဖွဲ့စည်းပုံရှိသည်ဆိုပါစို့:

ဤအခြေအနေတွင် ဖိုင်ဖတ်သည့်အခါ၊ ကျွန်ုပ်တို့သည် အရင်ဆုံး အဆင့်တစ်ခုအထက်သို့ ထွက်ပြီး၊ ထို့နောက် ဤအဆင့်နှင့် ဆက်စပ်၍ ကျွန်ုပ်တို့၏ဖိုင်သို့ လမ်းကြောင်းကို ဖော်ပြရမည်:

script/index.php<?php
  echo file_get_contents('../directory/test.txt');
?>

ဥပမာ

ကျွန်ုပ်တို့တွင် အောက်ပါဖိုင်ဖွဲ့စည်းပုံရှိသည်ဆိုပါစို့:

ဤအခြေအနေတွင် ကျွန်ုပ်တို့အနေဖြင့် အထက်သို့ နှစ်ကြိမ် ထွက်ရန်လိုအပ်မည်:

script/test/index.php<?php
  echo file_get_contents('../../directory/test.txt');
?>

လက်တွေ့လေ့ကျင့်ခန်းများ

Задание 1

စာသားဖိုင်အတွင်းရှိ အကြောင်းအရာများကို ဖတ်မည့် ကုဒ်ကို ရေးပါ:

  • index.php
  • /dir1//dir2/test.txt
Задание 2

စာသားဖိုင်အတွင်းရှိ အကြောင်းအရာများကို ဖတ်မည့် ကုဒ်ကို ရေးပါ:

  • /script/index.php
  • /dir1//dir2/test.txt
Задание 3

စာသားဖိုင်အတွင်းရှိ အကြောင်းအရာများကို ဖတ်မည့် ကုဒ်ကို ရေးပါ:

  • /script1//script2/index.php
  • /dir/test.txt
Задание 4

စာသားဖိုင်အတွင်းရှိ အကြောင်းအရာများကို ဖတ်မည့် ကုဒ်ကို ရေးပါ:

  • /script1//script2//script3/index.php
  • /dir1//dir2//dir3/test.txt