ໃນບົດຮຽນທີ່ຜ່ານມາ ເຮົາໃຊ້ວິທີການເກັບ ແລະ
ສະແດງຂໍ້ມູນຕ່າງໆ ໂດຍຜ່ານຕົວປ່ຽນທີ່ກໍານົດ
ແຕ່ໃນການເຮັດວຽກຈິງ ຂໍ້ມູນຕ່າງໆທີ່ເຮົາຈັດເກັບ
ແລະສະແດງຂຶ້ນມານັ້ນ ອາດຈະຢູ່ໃນຮູບແບບ 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.