PHP da fayllar bilan ishlash

F
Ishonchli SSL atigi 3.44 dollardan
PHP da vaqt va sana funksiyalari
PHP da strings

Fayllarni boshqarish qobiliyati har qanday dasturlash tilining, shu jumladan PHP tilining muhim jihati hisoblanadi.
PHP dasturchisi sifatida fayllarni ochish, o'qish va yopish asoslarini tushunish kerak. Va nafaqat fayllar, balki kataloglarni ochish, o'qish va yopish.
Yaxshiyamki, bu vazifani PHPda bajarish oson.

Yuqoridagilarni muhokama qilishdan tashqari, ushbu maqola PHP-dagi fayllar haqidagi eng keng tarqalgan savollarga ham javob beradi.

PHP faylini o'qish va yozishni boshqarish
PHP yordamida faylni yuklang
PHP yordamida fayllar bilan ishlash
Laravel bilan shaxsiy fayllar bilan ishlash
Maksimal yuklangan fayl hajmini o'zgartiring
PHP da fayl kengaytmasini qanday olish mumkin?
Buyruqlar qatori tomonidan ishlatiladigan php.ini faylini qanday topish mumkin?
Faylni URL manzilidan serverga yuklab oling
Massivni faylga chop etish
PHP-da foydalanuvchi uchun CSV faylini yarating

PHP da fayllar bilan ishlash

PHP da biz fayllar ustida bir necha xil amallarni bajarishimiz mumkin. Masalan, biz faylni ochishimiz va o'qish yoki yozish kabi operatsiyalarni yoki ikkalasini ham bajarishimiz mumkin. Keling, faylni turli xil rejimlarda qanday ochishni muhokama qilishdan boshlaylik.

Fayllarni ochish va yopish

Birinchi qadam faylni ochishdir. PHP taqdim etadi fopen() mavjud faylni ochish funktsiyasi. The fopen() Funktsiya ikkita parametrga ega:

filenameFayl nomini belgilang. Parametr mahalliy fayllarni, balki URL manzilini ham qabul qiladi (agar allow_url_fopen rostga o'rnatiladi).
modaBeriladigan ruxsat turini belgilaydi (o'qishga kirish yoki o'qish va yozish huquqi).
<?php
$file = fopen("demo.txt", "r");
?>

Yuqoridagi kodda "demo.txt” fayl nomi esa “r” rejimi hisoblanadi.

PHPda bir nechta belgilangan rejimlar mavjud. Quyida PHP da mavjud bo'lgan barcha rejimlar ro'yxati keltirilgan.

  • r – faylni o‘qish uchun ochish.
  • r+ - faylni o'qish va yozish uchun ochish.
  • w – faylni yozish uchun ochish. U fayl tarkibini tozalaydi va agar u mavjud bo'lmasa, yangi fayl yaratishga harakat qiladi.
  • w+ - faylni o'qish va yozishni ochish uchun. U fayl tarkibini tozalaydi va agar u mavjud bo'lmasa, yangi fayl yaratishga harakat qiladi.
  • a - Mavjud faylga tarkib qo'shish uchun. U fayl mazmunini tozalamaydi va agar u mavjud bo'lmasa, yangi fayl yaratishga harakat qiladi.
  • a+ – faylni oʻqish va qoʻshish uchun ochish. U fayl mazmunini tozalamaydi va agar u mavjud bo'lmasa, yangi fayl yaratishga harakat qiladi.
  • x - faylni o'qish uchun ochish, lekin agar fayl mavjud bo'lmasa, false qiymatini qaytaradi.
  • x+ - faylni o'qish va yozish uchun ochish. Agar fayl mavjud bo'lmasa, u "false"ni ham qaytaradi. 
  • c - faylni o'qish uchun ochish. U tarkibni tozalaydi va agar u mavjud bo'lmasa, yangi fayl yaratishga harakat qiladi. 
  • c++ - o'qish va yozish uchun faylni ochish. U tarkibni tozalaydi va agar u mavjud bo'lmasa, yangi fayl yaratishga harakat qiladi. 

Amaliyotlar bajarilgandan so'ng PHP barcha fayllarni avtomatik ravishda yopsa ham, faylni qo'lda yopish tavsiya etiladi. PHP taqdim etadi fclose() ochilgan faylni yopish funktsiyasi. 

The fclose() funktsiya bitta parametrga ega - fayl nomi. Quyidagi kodga e'tibor bering.

<?php
$file = fopen("demo.txt", "r");
fclose($file);
?>

fopen() va fclose() mos ravishda PHP da fayllarni ochish va yopish uchun ishlatiladigan asosiy funksiyalardir. Ammo PHP dasturchilarga yordam berish uchun qo'shimcha funktsiyalarni taqdim etadi. Keling, ushbu o'rnatilgan PHP funktsiyalarining ba'zilarini muhokama qilaylik.

file_exists()

Fayllar bilan ishlash xatolar va ogohlantirishlarga moyil. Belgilangan fayl mavjud bo'lmagan vaziyat yuzaga kelishi mumkin. Bu xatolar yoki ogohlantirishlarga olib kelishi mumkin. Bunday xatolar va ogohlantirishlarni oldini olish uchun foydalanish tavsiya etiladi file_exists() Funktsiyani ishlatishdan oldin fopen() fayl mavjudligi yoki yo'qligini tekshirish uchun.

<?php

// check if the file exists

if (file_exists("demo.txt"))
{
  // open the file in read mode
  $file = fopen("demo.txt","r");
  // close the file
  fclose($file);
} else {
    echo "file does not exist";
}

?>

Yuqoridagi kodda file_exists() funktsiya if-iborasi bilan yoki yo'qligini tekshirish uchun ishlatiladi.demo.txt” mavjud yoki yo'q. 

fread()

Fayl hajmi juda katta bo'lishi mumkin. Shu sababli biz faylning toʻliq mazmunini emas, balki uning bir qismini oʻqishni tanlashimiz mumkin. Bunday holatlar uchun bizda mavjud fread() funktsiyasi. Bu bizga, masalan, faqat o'nta belgini o'qish imkonini beradi. 

The fread() funktsiya ikkita parametrni talab qiladi - fayl va baytdagi uzunlik.

<?php

// check if the file exists

if (file_exists("demo.txt"))
{
  // open the file in read mode
  $file = fopen("demo.txt","r");
  // use fread() function
  $data = fread($file, "10");
  echo $data

  // close the file
  fclose($file);
} else {
    echo "file does not exist";
}
?>

Yuqoridagi kodda fread() funksiyasi "demo.txt" faylidan 10 baytni o'qish uchun ishlatiladi. 

fwrite()

The fwrite() funktsiya faylga ma'lumotlarni yozish uchun ishlatiladi. Bu ikkita parametrni talab qiladi - fayl va string.

<?php
//checking the existence of the file

if(file_exists("demo.txt"))
{
  //opening the file in “w” mode
  $file = fopen("demo.txt", "w");
   fwrite($file, "This is a string");
}
else{
  echo "file does not exist";
}
?>

Yuqoridagi kodda ikkita stsenariy mavjud. 

  • Agar "demo.txt" mavjud bo'lmasa fwrite() funktsiya yangi fayl yaratadi va "Bu string" ni chiqaradi. 
  • Agar "demo.txt" mavjud bo'lsa, fwrite() funktsiya fayl mazmunini qayta yozadi.
    Eslatma: Agar siz tarkibga qo'shishni (qo'shishni) xohlasangiz, "w" rejimi o'rniga "a" rejimidan foydalanishingiz mumkin.

fayl turi()

Fayl turini tekshirish uchun PHP taqdim etadi fayl turi() funktsiyasi. Quyida mumkin bo'lgan qiymatlar keltirilgan fayl turi() funksiya qaytishi mumkin.

  • char
  • fifo
  • dir
  • Fayl
  • aloqa
  • soket
  • blok
  • noma'lum

ajratish()

The ajratish() funktsiya fayl yoki katalogni o'chirish uchun ishlatiladi. Agar fayl yoki katalog o'chirilgan bo'lsa, u "true", agar o'chirilgan bo'lsa, "false" qiymatini qaytaradi. 



<?php
//check if the file exists
if(file_exists("demo.txt")) {
  //use unlink() function to delete demo.txt
  if(unlink("demo.text")){
    echo "file deleted";
  }
  else {
    echo "error while trying to delete the file";
  }
  else {
    echo "the file doesn't exist";
  }
}
?>

Yuqoridagi kodda ajratish() funksiyasi “demo.txt”ni oʻchirish uchun ishlatiladi.

xulosa

  • The fopen() funktsiya faylni ochish uchun ishlatiladi. 
  • yordamida faylni ochishning turli usullari mavjud fopen() funktsiyasi.
  • The fclose() funksiyasi faylni yopish uchun ishlatiladi.
  • PHP fayllar bilan ishlash uchun bir nechta ichki funksiyalarni taqdim etadi.
  • Ko'p ishlatiladigan o'rnatilgan funktsiyalardan ba'zilari file_exists(), fread(), fwrite(), fayl turi()va unlink().

PHP da vaqt va sana funksiyalari
PHP da strings

Repetitor tarmog'i

bu baham

PHP tilini A dan Z gacha o'rganing