PHP
June 26, 2019

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:

image

Faylni yopish

PHP faylni yopish uchun fclose() funksiyasidan foydalanamiz.

Namuna:

image

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

image1
image

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()