ບົດທີ 8 ການຈັດການກັບ file

ໃນ​ບົດຮຽນ​ທີ່​ຜ່ານ​ມາ ​ເຮົາ​ໃຊ້​ວິທີ​ການ​ເກັບ ​ແລະ ສະ​ແດງ​ຂໍ້ມູນຕ່າງໆ ​ໂດຍ​ຜ່ານ​ຕົວ​ປ່ຽນ​ທີ່​ກໍານົດ ​ແຕ່​ໃນ​ການ​​ເຮັດ​ວຽກ​ຈິງ ຂໍ້​ມູນ​ຕ່າງໆ​ທີ່​ເຮົາ​ຈັດ​ເກັບ ​ແລະ​ສະ​ແດງ​ຂຶ້ນ​ມາ​ນັ້ນ​ ອາດ​ຈະ​ຢູ່​ໃນ​ຮູບ​ແບບ text file ຫຼື​ຖານ​ຂໍ້​ມູນ ດັ່ງ​ນັ້ນ​ໃນ​ບົດ​ນີ້​ເຮົາ​ຈະ​ມາ​ສຶກສາ​ການ​ໃຊ້​ງານ file ​ໂດຍ​ຜ່ານ​ຟັງ​ຊັນ​ຕ່າງໆ​ຂອງ PHP.
8.1  ຂັ້ນ​ຕອນ​ການ​ຈັດການ​ກັບ file.
ກ່ອນ​ເຮົາ​ຈະ​ຈັດການ​ກັບ file ​ເຮົາ​ຄວນ​ຮຽນ​ຮູ້​ຂັ້ນ​ຕອນ​ການ​ເຮັດ​ວຽກ​ເສຍ​ກ່ອນ ​ເຊິ່ງສະ​ຫຼຸບ​ໄດ້ 4 ຂັ້ນ​ຕອນ​ຄື:
  • ກວດ​ສອບ​ວ່າ​ມີ file ນັ້ນ​ຈິງ​ຫຼື​ບໍ່.
  • ການ​ເປີດ file.
  • ຈັດການ​ກັບ file ບໍ່​ວ່າ​ຈະ​ເປັນ​ການ​ອ່ານ ຫຼື​ຂຽນ​ຂໍ້​ມູນ​ລົງ file.
  • ການ​ປິດ​ file.

    8.1.1 ການກວດ​ສອບ file ດວ້ຍຟັງ​ຊັນ file_exists().
​ເພື່ອ​ໃຫ້​ເຂົ້າ​ໃຈ​ວ່າ file ທີ່​ເຮົາ​ຕ້ອງການ​ເອີ້ນ​ໃຊ້​ງານ​ມີ​ຢູ່​ຈິງ​ຫຼືບໍ່ ​ເຮົາ​ສາມາດ​ໃຊ້​ຟັງ​ຊັນ file_exists() ຊ່ວຍ​ກວດ​ສອບ​ໄດ້ ​ໂດຍ​ມີ​ຮູບ​ແບບ​ການ​​ໃຊ້​ງານ​ດັ່ງ​ນີ້
file_exists(“ຕໍາ​ແໜ່​ງທີ່ຢູ່​ຂອງ file/ຊື່ file”);
      ຕຳ​ແໜ່​ງທີ່ຢູ່​ຂອງ file ອາດ​ຈະ​ເກັບ​ໄວ້​ໃນ​ຕົວ​ປ່ຽນ ​ແລ້ວ​ເອີ້ນ​ໃຊ້​ງານ​ຜ່ານ​ຕົວ​ປ່ຽນ​ແທນ ​ໂດຍ​ບໍ່​ຕ້ອງ​ມີ​ເຄື່ອງໝາຍ​ວົງ​ຢືມ​ອ້ອມ​ຕົວ​ປ່ຽນ​ກໍ່​ໄດ້ ​ເຊັ່ນ: file_exists($hit) ​ເປັນ​ຕົ້ນ.
<?
$hit="d:/test.txt";
if(file_exists($hit))
{
echo "Yes";
}
else
{
echo "No";
}
?>
ຜົນ​ໄດ້​ຮັບ
 



  8.1.2 ການ​ເປີດ file ດ້ວຍ​ຟັງ​ຊັນ fopen().
ກ່ອນ​ຈະ​ອ່ານ​ຂໍ້​ມູນ​ຈາກ file ຫຼື​ຂຽນ​ຂໍ້​ມູນ​ລົງ file ນັ້ນ​ໄດ້ ​ເຮົາ​ຈະ​ຕ້ອງ​ເປີດ file ຂຶ້ນມາ​ເສຍ​ກ່ອນ ​ໂດຍ​ໃຊ້​ຟັງ​ຊັນ fopen() ​ເຊິ່ງມີ​ຮູບ​ແບບ​ການ​ໃຊ້​ງານ​ດັ່ງ​ນີ້
$ຊື່​ຕົວ​ປ່ຽນຄ່າ return = fopen(ຕໍາ​ແໜ່​ງທີ່ຢູ່​ເກັບ​ file/ຊື່ file,​ໂໝດການ​ເປີດ);
  • ຕົວ​ປ່ຽນ​ຄ່າ return : ​ແມ່ນ​ຄ່າ​ທີ່​ເກັບ​ໄວ້​ໃນ​ຕົວ​ປ່ຽນ​ຊະນິດ Resource ​ເຊິ່ງຈະ​ຖືກ​ນໍາ​ໄປ​ໃຊ້​ໃນ​ຟັງ​ຊັນ​ອື່ນໆ​ທີ່​ກ່ຽວ​ກັບ​ file ​ໂດຍ​ຄ່າ​ທີ່ return ອາດ​ຈະ​ເປັນ​ຕົວ​ເລກ ຫຼື​ຂໍ້ຄວາມ​ກໍ່​ໄດ້.
  • ຕຳ​ແໜ່​ງທີ່ຢູ່​ເກັບ file/ຊື່ file : ອາດ​ຈະ​ເກັບ​ຄ່າ​ໄວ້​ໃນ​ຕົວ​ປ່ຽນ ​ແລ້ວ​ເອີ້ນ​ໃຊ້​ຜ່າ​ນຕົວ​ປ່ຽນ​ແທນ​ກໍ່​ໄດ້.
  • ​ໂໝດການ​ເປີດ file : ​ໃນ​ພາສາ PHP ມີ​ໃຫ້​ເລືອກ​ໃຊ້​ຫຼາຍ​ແບບ​ຂຶ້ນ​ຢູ່​ກັບ​ຈຸດປະສົງ​ໃນ​ການ​ໃຊ້​ງານ file ​ເຊັ່ນ ຖ້າ​ຕ້ອງການ​ເປີດ file ຂໍ້​ມູນ​ເພື່ອ​ອ່ານ​ຢ່າງ​ດຽວ ກໍ່​ເລືອກ​ໂໝດສຳລັບ​ອ່ານ​ຢ່າງ​ດຽວ​.
ສຳລັບ​ໂໝດການ​ເປີດ file ​ໃນ​ພາສາ PHP ມີ​ໃຫ້​ເລືອກ​ດັ່ງ​ນີ້
​ໂໝດການ​ເປີດ file ຄວາມ​ໝາຍ
r ​ເປີດ​ອ່ານ​ຂໍ້​ມູນ​ໃນ file ຢ່າງ​ດຽວ​ເທົ່າ​ນັ້ນ ​ໂດຍ file ຕ້ອງ​ມີ​ຢູ່​ຈິງ
r+ ​ເປີດ​ອ່ານ ​ແລະຂຽນ​ຂໍ້​ມູນ​ໃໝ່​ລົງ file ​ໂດຍ file ນັ້ນ​ຕ້ອງ​ມີ​ຢູ່​ຈິງ
w ​ເປີດ​ file ​ເພື່ອ​ຂຽນ​ຂໍ້​ມູນ​ໃໝ່​ທັບ file ​ເກົ່າ ຖ້າ file ບໍ່​ມີ​ຈິງ​ກໍ່​ຈະ​ສ້າງ​ໃໝ່​ທັນທີ
w+ ​ເປີດ​ file ​ເພື່ອ​ອ່ານ ​ແລະຂຽນ​ຂໍ້​ມູນ​​ໃໝ່ທັບ file​ ​ເກົ່າ ຖ້າ file ບໍ່​ມີ​ກໍ່ສ້າງ​ໃໝ່
a ​ເປີດ file ​ເພື່ອ​ຂຽນ​ຂໍ້​ມູນ​ໃໝ່​ຕໍ່​ທ້າຍ​ຂໍ້​ມູນ​ເກົ່າ ຖ້າ file ​ເກົ່າ​ບໍ່​ມີ​ກໍ່ສ້າງ​ໃໝ່
a+ ​ເປີດ file ​ເພື່ອ​ອ່ານ ​ແລະ​ຂຽນ​ຂໍ້​ມູນ​ໃໝ່​ຕໍ່​ທ້າຍ​ຂໍ້​ມູນ​ເກົ່າ ຖ້າ​ບໍ່​ມີ file ​ເກົ່າ​ກໍ່ສ້າງ file ຂຶ້ນ​ມາ​ໃໝ່.

ຕົວຢ່າງ:
<?
$hit="d:/test.txt";
if(file_exists($hit))
{
$file=fopen("$hit","w");
echo "Yes, it has this file";
}
else
{
echo "No have this file";
}
?>
ຜົນ​ໄດ້​ຮັບ  
 





ຈາກ​ຕົວຢ່າງ​ຂ້າງ​ເທິງ​ເປັນ​ການ​ເປີດ file ທີ່​ຊື່ test.txt ທີ່ຢູ່​ໃນ d:/ ​ໂດຍ​ເປີດ​ໃນ​ໂໝດ ​w ​ເພື່ອ​ຂຽນ​ຂໍ້​ມູນ​ໃໝ່​ທັບ​ຂໍ້​ມູນ​ເກົ່າ ​ແລະຄ່າ return ​ເກັບ​ໄວ້​ໃນ​ຕົວ​ປ່ຽນ $file.