Tiedostojen käsittely PHP:ssä

F

esittely

Tiedostojen käsittely on tärkeä osa kehitystä. Niitä käytetään sekä asiakas- että palvelinpuolella. Kehittäjän tulee ymmärtää ainakin tiedostojen käsittelyn peruskäsitteet. 

PHP tukee tiedostojen käsittelyä. Palvelinpuolen ohjelmointikielenä tiedostoja ja hakemistoja voidaan hallita web-palvelimella PHP:n avulla. Tässä opetusohjelmassa keskustelemme tiedostojen hallinnasta PHP:n avulla.

Tämä artikkeli saattaa herättää seuraavat arkielämään liittyvät kysymykset työskennellessään PHP-tiedostojen kanssa. Mene eteenpäin ja katso heidän ratkaisunsa StackOverflowsta.

PHP-tiedostojen käsittely lukea ja kirjoittaa
Lataa tiedosto PHP:llä
Tiedostojen käsittely PHP:llä
Yksityinen tiedostojen käsittely laravelilla
Muuta lähetettävän tiedoston enimmäiskokoa
Kuinka saada tiedostopääte PHP:ssä?
Miten löydän komentorivin käyttämän php.ini-tiedoston?
Lataa tiedosto palvelimelle URL-osoitteesta
Tulosta matriisi tiedostoon
Luo CSV-tiedosto käyttäjälle PHP:ssä

Tiedostojen käsittely PHP:ssä

PHP:ssä voimme suorittaa tiedostoille useita erilaisia ​​toimintoja. Voimme esimerkiksi avata tiedoston ja suorittaa toimintoja, kuten lukemisen tai kirjoittamisen, tai molempia. Aloitetaan keskustelemalla tiedoston avaamisesta eri tiloissa.

Tiedostojen avaaminen ja sulkeminen

Ensimmäinen askel on avata tiedosto. PHP tarjoaa fopen() toiminto avataksesi olemassa olevan tiedoston. The fopen() funktiolla on kaksi parametria:

TiedostonimiAseta tiedoston nimi. Parametri hyväksyy paikalliset tiedostot, mutta myös URL-osoitteen (jos allow_url_fopen on asetettu tosi).
tilaMäärittää myönnettävän käyttöoikeuden tyypin (esim. lukuoikeus tai luku- ja kirjoitusoikeus).

Yksinkertainen esimerkki

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

Yllä olevassa koodissa "demo.txt" on tiedostonimi, kun taas "r” on tila.

PHP:llä on useita määriteltyjä tiloja. Seuraavassa on luettelo kaikista PHP:ssä käytettävissä olevista tiloista.

  • r – Avaa tiedosto lukemista varten.
  • r+ – Tiedoston avaaminen lukemista ja kirjoittamista varten.
  • w – Avaa tiedosto kirjoittamista varten. Se tyhjentää tiedoston sisällön ja yrittää luoda uuden tiedoston, jos sitä ei ole olemassa.
  • w+ – Tiedoston avaaminen lukemisen ja kirjoittamisen lisäksi. Se tyhjentää tiedoston sisällön ja yrittää luoda uuden tiedoston, jos sitä ei ole olemassa.
  • a – Sisällön lisääminen olemassa olevaan tiedostoon. Se ei tyhjennä tiedoston sisältöä ja yrittää luoda uuden tiedoston, jos sitä ei ole olemassa.
  • a+ – Avaa tiedosto lukemista ja liittämistä varten. Se ei tyhjennä tiedoston sisältöä ja yrittää luoda uuden tiedoston, jos sitä ei ole olemassa.
  • x – Avaa tiedosto lukemista varten, mutta palauttaa epätosi, jos tiedostoa ei ole olemassa.
  • x+ – Tiedoston avaaminen lukemista ja kirjoittamista varten. Se palauttaa myös false, jos tiedostoa ei ole olemassa. 
  • c – Avaa tiedosto lukemista varten. Se tyhjentää sisällön ja yrittää luoda uuden tiedoston, jos sitä ei ole olemassa. 
  • c++ – Avaa tiedosto lukemista ja kirjoittamista varten. Se tyhjentää sisällön ja yrittää luoda uuden tiedoston, jos sitä ei ole olemassa. 

Sulje tiedostot aina manuaalisesti

Vaikka PHP sulkee automaattisesti kaikki tiedostot toimintojen suorittamisen jälkeen, on suositeltavaa sulkea tiedosto manuaalisesti. PHP tarjoaa fclose() toiminto sulkea avatun tiedoston. 

- fclose() funktiolla on yksi parametri – tiedostonimi. Huomioi seuraava koodi.

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

PHP-toiminnot tiedostolle

fopen() ja fclose() ovat ensisijaisia ​​toimintoja, joita käytetään tiedostojen avaamiseen ja sulkemiseen PHP:ssä. Mutta PHP tarjoaa lisätoimintoja ohjelmoijien auttamiseksi. Keskustellaan joistakin näistä sisäänrakennetuista PHP-toiminnoista.

file_exists()

Tiedostojen käsittelyssä voi esiintyä virheitä ja varoituksia. Voi syntyä tilanne, jossa määritettyä tiedostoa ei ole olemassa. Tämä voi johtaa virheisiin tai varoituksiin. Tällaisten virheiden ja varoitusten välttämiseksi on suositeltavaa käyttää file_exists() toiminto ennen käyttöä fopen() tarkistaaksesi, onko tiedosto olemassa vai ei.

Katso seuraava koodi. 

<?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";
}

?>

Yllä olevassa koodissa file_exists() toimintoa käytetään if-lauseen kanssa tarkistamaan, onko "demo.txt" on olemassa tai ei. 

fread ()

Tiedosto voi olla valtava. Meidän on ehkä luettava koko sisältö tai vain osa siitä. Oletetaan, että meidän on luettava vain ensimmäiset 10 merkkiä koko tiedoston sisällöstä. Tällaisissa tapauksissa voimme käyttää fread () toiminto. 

- fread () funktiolla on kaksi parametria – tiedosto ja pituus tavuina.

Huomioi seuraava koodi.

<?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";
}
?>

Yllä olevassa koodissa fread () toimintoa käytetään lukemaan 10 tavua "demo.txt"-tiedostosta. 

fwrite()

- fwrite() -toimintoa käytetään tietojen kirjoittamiseen tiedostoon. Se vaatii kaksi parametria - tiedosto ja merkkijono.

Huomioi seuraava koodi.

<?php

//tarkistaa if-tiedoston olemassaolon

if(file_exists("demo.txt")

{

    //tiedoston avaaminen "w"-tilassa

    $tiedosto = fopen("demo.txt", "w");

    fwrite($file, "Tämä on merkkijono");

}

else {

    echo "tiedostoa ei ole olemassa";

}

?>


Yllä olevassa koodissa on kaksi skenaariota. 

  • Jos tiedostoa "demo.txt" ei ole olemassa, fwrite() toiminto luo uuden tiedoston ja kirjoittaa siihen "Tämä on merkkijono". 
  • Jos "demo.txt" on olemassa, fwrite() -toiminto korvaa tiedoston sisällön, mutta jos haluat liittää sisällön, käytä "a"-tilaa "w" sijaan.

tiedostotyyppi()

PHP tarjoaa tiedoston tyypin tarkistamiseksi tiedostotyyppi() toiminto. Seuraavassa on mahdolliset arvot tiedostotyyppi() toiminto voi palata.

  • sotavaunut
  • FIFO
  • dir
  • tiedosto
  • linkkiä
  • pistorasia
  • lohko
  • tuntematon

unlink()

- unlink() -toimintoa käytetään tiedoston tai hakemiston poistamiseen. Se palauttaa tosi, jos tiedosto tai hakemisto poistetaan, ja false, jos ei. 

Huomioi seuraava koodi. 


<?php

//tarkistaa if-tiedoston olemassaolon

if(file_exists("demo.txt")

{

    //unlink()-funktiolla demo.txt:n poistaminen

    if(unlink("demo.text"){

    echo "tiedosto poistettu";

    }

    else {

    echo "virhe tiedostoa poistettaessa";

    }

}

else {

    echo "tiedostoa ei ole olemassa";

}

?>


Yllä olevassa koodissa unlink() -toimintoa käytetään "demo.txt" -tiedoston poistamiseen.

Yhteenveto

  • - fopen() -toimintoa käytetään tiedoston avaamiseen. 
  • Tiedoston avaamiseen on erilaisia ​​tiloja fopen() toiminto.
  • - fclose() -toimintoa käytetään tiedoston sulkemiseen.
  • PHP tarjoaa useita sisäänrakennettuja toimintoja tiedostojen käsittelyä varten.
  • Jotkut yleisesti käytetyistä sisäänrakennetuista toiminnoista ovat file_exists(), fread (), fwrite(), tiedostotyyppi()ja unlink().

Nyt tiedät kuinka lukea ja luoda tiedosto PHP:llä, opimme siitä Loops.

lisää kommentti

Tutor-verkosto

Opi PHP pisteestä A paikkaan Z