Fayllar bilan ishlash
Dasturlarimiz tomonidan qayta ishlanishi mumkin bo'lgan ma'lumotlarni saqlash uchun fayllardan ko'p foydalanamiz. Ma'lumotni doimiy ravishda saqlash va uni o'qish uchun biz fayllardan foydalanishimiz kerak. Fayl - bog'liq ma'lumotlarni to'plami. Diskda joylashgan. Fayllar faqat ma'lumot uchun ishlatilmaydi. Dasturlarimiz fayllarimizda ham saqlanadi.
Nima uchun fayllar bilan ishlaymiz?
Biz hozirgacha amalga oshirgan ma'lumotni kiritish va chiqarish jarayoni faqat ekran va klaviatura orqali amalga oshirildi.
Dastur tugatilgandan so'ng barcha kiritilgan ma'lumotlar yo'qoladi, chunki asosiy xotira o'zgaruvchan bo'ladi.
Ma'lumotlar keyinchalik ishlatilishi kerak bo'lsa, uni doimiy saqlash qurilmasiga saqlash kerak bo'ladi. Kerak bo'lganda fayllarni o'qishimiz mumkin.
PHPda fayllar bilan ishlash
PHP fayllar va kataloglarni boshqarish uchun ko'plab ichki funksiyalarni o'z ichiga oladi. Siz ushbu funksiyalardan foydalanib, fayllarni o'qish, yozish, o'chirish va ma'lumotlarni olishingiz mumkin.
PHP dan foydalanib faylni ochish
PHP faylni ochish fopen() funksiyasi orqali amalga oshiriladi. Quyida sintaksisni ko'rishingiz mumkin:
fopen(fayl nomi, rejim)
Parametr ta'rifi
fayl nomi: ochiladigan fayl nomini bildiradi. Bu talab qilinadigan parametr.
rejim: fayl qaysi rejimda ochilishi kerakligini bildiradi. Bu talab qilinadigan parametr.
Faylni ochish rejimlari:
Faylni yopish
PHP faylni yopish uchun fclose() funksiyasidan foydalanamiz.
Namuna:
Faylni oxirini tekshirish
Har qanday faylni (EOF=end of any file) oxirigacha o'qish uchun PHP feof() funksiyasini taqdim etadi.
feof() funksiyasidan foydalanib fayldagi barcha ma'lumotlarni siklga qo'yib, oxirigacha o'qish mumkin.
Sintaksis:
feof($fayl);
Fayllarni qatorma-qator o'qish
PHPda fayllarni qatorma-qator o'qish uchun fgets() funksiyasi mavjud. Faylda bitta qatorni o'qish uchun fgets () funktsiyasi ishlatiladi. Bu funksiya faylni linebyline(qatorma-qator) o'qiydi, bu satrlarni o'qib bo'lgach, fayl ko'rsatgichi avtomatik tarzda faylning keyingi satriga o'tadi.
Sintaksisi
fgets($fayl);
<?php $fayl=fopen("faylim.txt","r"); while(!feof($fayl)) { echo fgets($fayl); echo "<br>"; } fclose($fayl); ?>
Faylni belgima-belgi o'qish
Fayllarni belgima-belgi o'qish uchun PHPda fgetc() funksiyasi mavjud. Faylda bitta belgini o'qish uchun fgetc() funksiyasi ishlatiladi. Bu funksiya character-by-charatcer(belgi bilan) faylni o'qiydi, bu belgini o'qib bo'lgandan so'ng, fayl ko'rsatgichi avtomatik ravishda faylning keyingi belgilariga o'tadi. Ya'ni qatorma-qator belgilarni bitta satrda o'qiydi.
Sintaksisi:
fgetc($fayl);
<?php $fayl=fopen("fayl.txt" , "r"); while(!feof($fayl)) { echo fgetc($fayl); } fclose($fayl); ?>
Faylga ma'lumot kiritish
Faylga ma'lumot yozish uchun fwrite() funksiyasi mavjud:
Sintaksisi:
fwrite($fayl,$malumot);
Namuna:
<?php $fayl= fopen('fayl.txt','w'); fwrite($fayl,"salom"); fclose($fayl); echo "Faylga ma'lumot yozildi."; ?>
Faylga ma'lumot qo'shish
<?php $fayl=fopen("fayl.txt" , "a+"); fwrite($fayl,"Yangi ma'lumot."); rewind($fayl); //rewind() funskiyasi ma'lumotni faylni boshiga o'tkazadi echo fread($fayl, filesize("fayl.txt")); fclose($fayl); ?>
Fayl bilan ishlash uchun funksiyalar
fileatime() filectime() filegroup() fileinode() filemtime() fileowner() fileperms() flock() fnmatch() fpassthru() fputcsv() fread() fscanf() fseek() fstat() ftell() ftruncate() glob() is_dir() is_executable() is_file() is_link() is_readable() is_uploaded_file() is_writable() is_writeable() lchgrp() lchown() link() linkinfo() lstat() move_uploaded_file() parse_ini_file() parse_ini_string() pathinfo() pclose() popen() readlink() realpath() set_file_buffer() stat() symlink() tempnam() tmpfile() touch() umask()